Now i got a problem in registration.Message box Registration is
displayin during first time firefox loads but Unregistration is not
calling properly. And i do no when to inittiate my xpcom and shutdown
xpcom.  Here is my code
MyComponent::MyComponent()
{
   rv = NS_InitXPCOM2(nsnull, nsnull, nsnull);

}


MyComponent::~MyComponent()
{
NS_ShutdownXPCOM(nsnull );


}


NS_IMETHODIMP MyComponent::Observe(nsISupports *aSubject, const char
*aTopic, const PRUnichar *aData)
{
return NS_OK;


}


static NS_METHOD MyComponentRegistration(nsIComponentManager
*aCompMgr,nsIFile *aPath,const char *registryLocation,const char
*componentType,const nsModuleComponentInfo *info)
{
       MessageBox(NULL,"Registration","Title",NULL);
        nsresult rv;
        nsCOMPtr<nsIServiceManager> servman;
        servman = do_QueryInterface((nsISupports*)aCompMgr, &rv);
        if (NS_FAILED(rv)) return rv;
        nsCOMPtr<nsICategoryManager> catman;

servman->GetServiceByContractID(NS_CATEGORYMANAGER_CONTRACTID,NS_GET_IID(ns­ICategoryManager),getter_AddRefs(catman));

        if (NS_FAILED(rv)) return rv;
        char* previous = nsnull;
        rv =
catman->AddCategoryEntry("xpcom-startup",MY_COMPONENT_CLASSNAME,MY_COMPONEN­T_CONTRACTID,PR_TRUE,PR_TRUE,&previous);

        if (previous)
        nsMemory::Free(previous);
        return rv;


}


static NS_METHOD MyComponentUnregistration(nsIComponentManager
*aCompMgr,nsIFile *aPath,const char *registryLocation,const
nsModuleComponentInfo *info)
{
      MessageBox(NULL,"UnRegistration","Title",NULL);
         nsresult rv;
        nsCOMPtr<nsIServiceManager> servman =
do_QueryInterface((nsISupports*)aCompMgr, &rv);
        if (NS_FAILED(rv))return rv;
        nsCOMPtr<nsICategoryManager> catman;

servman->GetServiceByContractID(NS_CATEGORYMANAGER_CONTRACTID,NS_GET_IID(ns­ICategoryManager),getter_AddRefs(catman));

        if (NS_FAILED(rv))return rv;
        rv =
catman->DeleteCategoryEntry("xpcom-startup",MY_COMPONENT_CLASSNAME,PR_TRUE)­;


        return rv; 



} 
.

_______________________________________________
Mozilla-xpcom mailing list
Mozilla-xpcom@mozilla.org
http://mail.mozilla.org/listinfo/mozilla-xpcom

Reply via email to