擴充套件類應用從所有者的角度可以分為兩種:公有擴充套件類和私有擴充套件類。公有擴充套件類由開發商開發和擁有,提供給其他開發使用並收費。私有擴充套件類可以由開發商開發和擁有,供給自己的乙個或多個應用使用,與其他應用共享收益;也可以由運營商開發和擁有,由運營商發布,提供給開發商或合作夥伴使用;還可以由手機廠商開發和擁有,由手機廠商發布,給合作夥伴使用。
在擴充套件類建立時要注意實現的次序,首先要分配記憶體,然後是初始化虛表,最後是初始化成員變數和所需的其他**,示例如下:
if(nsize < sizeof(myextension)) nsize += sizeof(myextension);
if ((pme = (myextension *)malloc(nsize + sizeof(vtbl(imyextension)))) == null)
return enomemory;
// initialize the data members
pme->m_nrefs = 1;
pme->m_mydata1 = 0;
pme->m_mydata2 = 0;
擴充套件類中其他函式的實現與一般應用中的方法實現相同。
在使用擴充套件類時相當於乙個介面的呼叫,只需包含擴充套件類的標頭檔案,然後建立擴充套件類的介面例項,就可以正常使用擴充套件類中的函式了。例如:
if(ishell_createinstance(pme->m_pishell,aeeclsid_myextension,(void **)&pextcls))
return false;
iextcls_myfunction1(pextcls, 0);
iextcls_release(pextcls);
乙個應用和擴充套件類間的通訊與前面討論的應用間的通訊方法是類似的。
開發BREW擴充套件類
看到一篇文章,覺得比較有指導意義,譯過來,希望給大家有些幫助,能力有限,有錯誤的地方還望大家指出來。共同學習,共同進步。3 特性 擴充套件類不包含許可權設定,它的許可權級別繼承于父應用,例如 如果某應用使用了乙個具有檔案操作功能的擴充套件類,那麼該應用就是擴充套件類的父應用,除非父應用的mif檔案中...
brew安裝php和擴充套件
brew install homebrew php php56 with apache 報錯 checking if the location of zlib install directory is defined.no configure error cannot find libz 解決 xc...
php擴充套件類開發例項
1 class vector2d214 15 16 generates a copy of this vector.17 return vector2d a copy of this vector.18 19public function mycopy 2023 24 25 sets this ve...