nsresult
nsComponentManager::AutoRegister(PRInt32 when, nsIFile *directory)
{
    nsIComponentManagerObsolete* cm;
    nsresult rv = NS_GetGlobalComponentManager((nsIComponentManager**)&cm);
    if (NS_FAILED(rv)) return rv;
    return cm->AutoRegister(when, directory);
}
nsresult 
nsComponentManager::EnumerateContractIDs(nsIEnumerator** aEnumerator)
{
    nsIComponentManagerObsolete* cm;
    nsresult rv = NS_GetGlobalComponentManager((nsIComponentManager**)&cm);
    if (NS_FAILED(rv)) return rv;
    return cm->EnumerateContractIDs(aEnumerator);
}
nsresult
nsComponentManager::FreeLibraries(void)
{
    nsIComponentManagerObsolete* cm;
    nsresult rv = NS_GetGlobalComponentManager((nsIComponentManager**)&cm);
    if (NS_FAILED(rv)) return rv;
    return cm->FreeLibraries();
}
nsresult
nsComponentManager::ContractIDToClassID(const char *aContractID,
                                  nsCID *aClass)
{
    nsIComponentManagerObsolete* cm;
    nsresult rv = NS_GetGlobalComponentManager((nsIComponentManager**)&cm);
    if (NS_FAILED(rv)) return rv;
    return cm->ContractIDToClassID(aContractID, aClass);
}
nsresult
nsComponentManager::GetClassObject(const nsCID &aClass, const nsIID &aIID,
                                   void **aResult)
{
    nsIComponentManagerObsolete* cm;
    nsresult rv = NS_GetGlobalComponentManager((nsIComponentManager**)&cm);
    if (NS_FAILED(rv)) return rv;
    return cm->GetClassObject(aClass, aIID, aResult);
}
nsresult
nsComponentManager::FindFactory(const nsCID &aClass,
                                nsIFactory **aFactory)
{
    nsIComponentManagerObsolete* cm;
    nsresult rv = NS_GetGlobalComponentManager((nsIComponentManager**)&cm);
    if (NS_FAILED(rv)) return rv;
    return cm->FindFactory(aClass, aFactory);
}
nsresult 
nsComponentManager::IsRegistered(const nsCID &aClass,
                                 PRBool *aRegistered)
{
    nsIComponentManagerObsolete* cm;
    nsresult rv = NS_GetGlobalComponentManager((nsIComponentManager**)&cm);
    if (NS_FAILED(rv)) return rv;
    return cm->IsRegistered(aClass, aRegistered);
}
nsresult
nsComponentManager::AutoUnregisterComponent(PRInt32 when,
                                          nsIFile *fullname)
{
    nsIComponentManagerObsolete* cm;
    nsresult rv = NS_GetGlobalComponentManager((nsIComponentManager**)&cm);
    if (NS_FAILED(rv)) return rv;
    return cm->AutoUnregisterComponent(when, fullname);
}
nsresult
nsComponentManager::UnregisterComponentSpec(const nsCID &aClass,
                                            nsIFile *aLibrarySpec)
{
    nsIComponentManagerObsolete* cm;
    nsresult rv = NS_GetGlobalComponentManager((nsIComponentManager**)&cm);
    if (NS_FAILED(rv)) return rv;
    return cm->UnregisterComponentSpec(aClass, aLibrarySpec);
}
nsresult
nsComponentManager::CLSIDToContractID(nsCID *aClass,
                                  char* *aClassName,
                                  char* *aContractID)
{
    nsIComponentManagerObsolete* cm;
    nsresult rv = NS_GetGlobalComponentManager((nsIComponentManager**)&cm);
    if (NS_FAILED(rv)) return rv;
    return cm->CLSIDToContractID(*aClass, aClassName, aContractID);
}
nsresult
nsComponentManager::CreateInstance(const nsCID &aClass, 
                                   nsISupports *aDelegate,
                                   const nsIID &aIID,
                                   void **aResult)
{
    nsIComponentManagerObsolete* cm;
    nsresult rv = NS_GetGlobalComponentManager((nsIComponentManager**)&cm);
    if (NS_FAILED(rv)) return rv;
    return cm->CreateInstance(aClass, aDelegate, aIID, aResult);
}
nsresult
nsComponentManager::RegisterFactory(const nsCID &aClass,
                                    const char *aClassName,
                                    const char *aContractID,
                                    nsIFactory *aFactory,
                                    PRBool aReplace)
{
    nsIComponentManagerObsolete* cm;
    nsresult rv = NS_GetGlobalComponentManager((nsIComponentManager**)&cm);
    if (NS_FAILED(rv)) return rv;
    return cm->RegisterFactory(aClass, aClassName, aContractID,
                               aFactory, aReplace);
}
Exemple #13
0
MTStartImpl::MTStartImpl()
{    
    NS_INIT_REFCNT();
    printf("MTStartImpl::MTStartImp\n");
    nsresult rv = nsComponentManager::CreateInstance(MTHREADCONTEXT_PROGID,
                                            nsnull,
                                            NS_GET_IID(iMThreadContext),
                                            (void**)&context); 
    if(NS_FAILED(rv)) {
        fprintf(stderr, "Create instance of context failed!!!");
        return;
    }
    char* first=(char*)PR_Malloc(sizeof(char*));

    
    context->GetContractID(0,1,&first);
    nsCID firstCID;
    firstCID.Parse(first);
    iMThreadComponent* tComponent=NULL;
    rv = nsComponentManager::CreateInstance(firstCID,
                                            nsnull,
                                            NS_GET_IID(iMThreadComponent),
                                            (void**)&tComponent);   
    if(NS_FAILED(rv)) {
        fprintf(stderr, "Create instance failed from %s!!!",first);
        return;
    }

    eThread = PR_GetCurrentThread();

        char* res=(char*)PR_Malloc(sizeof(char*));
	context->GetResFile(&res);

	if ((file = fopen(res, "w+t")) == NULL) {
		fprintf(stderr, "ERROR: can't open file %s\n",res);
	}
	char* tmp="0,0,";
	fwrite(tmp,1,PL_strlen(tmp),file);
	sprintf(tmp,"%d\n",eThread);
	fwrite(tmp,1,PL_strlen(tmp),file);
	fclose(file);

    tComponent->Initialize(context);
    nsIComponentManager* cm;
    rv = NS_GetGlobalComponentManager(&cm);
    if(NS_FAILED(rv)) {
        fprintf(stderr, "ERROR: Can't get GlobalComponentManager!!\n");
    }
    tComponent->THack(cm);
    tComponent->Execute(0,1);
}
nsresult
nsComponentManager::RegisterComponentLib(const nsCID &aClass,
                                         const char *aClassName,
                                         const char *aContractID,
                                         const char *adllName,
                                         PRBool aReplace,
                                         PRBool aPersist)
{
    nsIComponentManagerObsolete* cm;
    nsresult rv = NS_GetGlobalComponentManager((nsIComponentManager**)&cm);
    if (NS_FAILED(rv)) return rv;
    return cm->RegisterComponentLib(aClass, aClassName, aContractID,
                                     adllName, aReplace, aPersist);
}