fixes bug 219400 "remove callers of nsServiceManager:: methods" r=bsmedberg
git-svn-id: svn://10.0.0.236/trunk@165089 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -36,8 +36,8 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifndef __nsProxiedServiceManager_h_
|
||||
#define __nsProxiedServiceManager_h_
|
||||
#ifndef nsProxiedService_h_
|
||||
#define nsProxiedService_h_
|
||||
|
||||
#include "nsIServiceManager.h"
|
||||
#include "nsIProxyObjectManager.h"
|
||||
@@ -94,71 +94,45 @@
|
||||
|
||||
class nsProxiedService
|
||||
{
|
||||
public:
|
||||
|
||||
public:
|
||||
nsProxiedService(const nsCID &aClass, const nsIID &aIID,
|
||||
nsIEventQueue* pIProxyQueue, PRBool always, nsresult*rv)
|
||||
nsIEventQueue* aEventQ, PRBool always, nsresult* rv)
|
||||
{
|
||||
*rv = nsServiceManager::GetService(aClass,
|
||||
aIID,
|
||||
getter_AddRefs(mService));
|
||||
if (NS_FAILED(*rv)) return;
|
||||
InitProxy(aIID, pIProxyQueue, always, rv);
|
||||
nsCOMPtr<nsISupports> svc = do_GetService(aClass, rv);
|
||||
if (NS_SUCCEEDED(*rv))
|
||||
InitProxy(svc, aIID, aEventQ, always, rv);
|
||||
}
|
||||
|
||||
nsProxiedService(const char* aContractID, const nsIID &aIID,
|
||||
nsIEventQueue* pIProxyQueue, PRBool always, nsresult*rv)
|
||||
nsIEventQueue* aEventQ, PRBool always, nsresult* rv)
|
||||
{
|
||||
*rv = nsServiceManager::GetService(aContractID,
|
||||
aIID,
|
||||
getter_AddRefs(mService));
|
||||
if (NS_FAILED(*rv)) return;
|
||||
InitProxy(aIID, pIProxyQueue, always, rv);
|
||||
}
|
||||
|
||||
void InitProxy(const nsIID &aIID, nsIEventQueue* pIProxyQueue,
|
||||
PRBool always, nsresult*rv)
|
||||
{
|
||||
static NS_DEFINE_CID(kProxyObjectManagerCID, NS_PROXYEVENT_MANAGER_CID);
|
||||
|
||||
nsCOMPtr<nsIProxyObjectManager> pIProxyObjectManager =
|
||||
do_GetService(kProxyObjectManagerCID, rv);
|
||||
if (NS_FAILED(*rv)) return;
|
||||
|
||||
PRInt32 proxyType = PROXY_SYNC;
|
||||
if (always) proxyType |= PROXY_ALWAYS;
|
||||
*rv = pIProxyObjectManager->GetProxyForObject(pIProxyQueue,
|
||||
aIID,
|
||||
mService,
|
||||
proxyType,
|
||||
getter_AddRefs(mProxiedService));
|
||||
nsCOMPtr<nsISupports> svc = do_GetService(aContractID, rv);
|
||||
if (NS_SUCCEEDED(*rv))
|
||||
InitProxy(svc, aIID, aEventQ, always, rv);
|
||||
}
|
||||
|
||||
~nsProxiedService()
|
||||
operator nsISupports*() const
|
||||
{
|
||||
return mProxiedService;
|
||||
}
|
||||
|
||||
nsISupports* operator->() const
|
||||
{
|
||||
NS_PRECONDITION(mProxiedService != 0, "Your code should test the error result from the constructor.");
|
||||
return mProxiedService;
|
||||
}
|
||||
private:
|
||||
|
||||
PRBool operator==(const nsISupports* other)
|
||||
{
|
||||
return ((mProxiedService == other) || (mService == other));
|
||||
}
|
||||
void InitProxy(nsISupports *aObj, const nsIID &aIID,
|
||||
nsIEventQueue* aEventQ, PRBool always, nsresult*rv)
|
||||
{
|
||||
PRInt32 proxyType = PROXY_SYNC;
|
||||
if (always)
|
||||
proxyType |= PROXY_ALWAYS;
|
||||
|
||||
operator nsISupports*() const
|
||||
{
|
||||
return mProxiedService;
|
||||
}
|
||||
*rv = NS_GetProxyForObject(aEventQ,
|
||||
aIID,
|
||||
aObj,
|
||||
proxyType,
|
||||
getter_AddRefs(mProxiedService));
|
||||
}
|
||||
|
||||
protected:
|
||||
nsCOMPtr<nsISupports> mProxiedService;
|
||||
nsCOMPtr<nsISupports> mService;
|
||||
|
||||
};
|
||||
nsCOMPtr<nsISupports> mProxiedService;
|
||||
};
|
||||
|
||||
|
||||
#endif //__nsProxiedServiceManager_h_
|
||||
#endif // nsProxiedService_h_
|
||||
|
||||
@@ -131,25 +131,21 @@ NS_IMPL_THREADSAFE_ISUPPORTS1(nsTestXPCFoo2, nsITestProxy)
|
||||
|
||||
NS_IMETHODIMP nsTestXPCFoo2::Test(PRInt32 p1, PRInt32 p2, PRInt32* retval)
|
||||
{
|
||||
printf("calling back to caller!\n\n");
|
||||
printf("calling back to caller!\n\n");
|
||||
|
||||
nsIProxyObjectManager* manager;
|
||||
nsITestProxy * proxyObject;
|
||||
|
||||
nsServiceManager::GetService( NS_XPCOMPROXY_CONTRACTID,
|
||||
NS_GET_IID(nsIProxyObjectManager),
|
||||
(nsISupports **)&manager);
|
||||
nsCOMPtr<nsIProxyObjectManager> manager =
|
||||
do_GetService(NS_XPCOMPROXY_CONTRACTID);
|
||||
|
||||
printf("ProxyObjectManager: %p \n", manager);
|
||||
printf("ProxyObjectManager: %p \n", (void *) manager.get());
|
||||
|
||||
PR_ASSERT(manager);
|
||||
|
||||
manager->GetProxyForObject((nsIEventQueue*)p1, NS_GET_IID(nsITestProxy), this, PROXY_SYNC, (void**)&proxyObject);
|
||||
nsCOMPtr<nsITestProxy> proxyObject;
|
||||
manager->GetProxyForObject((nsIEventQueue*)p1, NS_GET_IID(nsITestProxy),
|
||||
this, PROXY_SYNC, (void**)&proxyObject);
|
||||
proxyObject->Test3(nsnull, nsnull);
|
||||
|
||||
printf("Deleting Proxy Object\n");
|
||||
NS_RELEASE(proxyObject);
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
@@ -184,13 +180,10 @@ void TestCase_TwoClassesOneInterface(void *arg)
|
||||
ArgsStruct *argsStruct = (ArgsStruct*) arg;
|
||||
|
||||
|
||||
nsIProxyObjectManager* manager;
|
||||
|
||||
nsServiceManager::GetService( NS_XPCOMPROXY_CONTRACTID,
|
||||
NS_GET_IID(nsIProxyObjectManager),
|
||||
(nsISupports **)&manager);
|
||||
nsCOMPtr<nsIProxyObjectManager> manager =
|
||||
do_GetService(NS_XPCOMPROXY_CONTRACTID);
|
||||
|
||||
printf("ProxyObjectManager: %p \n", manager);
|
||||
printf("ProxyObjectManager: %p \n", (void *) manager.get());
|
||||
|
||||
PR_ASSERT(manager);
|
||||
|
||||
@@ -254,14 +247,10 @@ void TestCase_NestedLoop(void *arg)
|
||||
{
|
||||
ArgsStruct *argsStruct = (ArgsStruct*) arg;
|
||||
|
||||
nsCOMPtr<nsIProxyObjectManager> manager =
|
||||
do_GetService(NS_XPCOMPROXY_CONTRACTID);
|
||||
|
||||
nsIProxyObjectManager* manager;
|
||||
|
||||
nsServiceManager::GetService( NS_XPCOMPROXY_CONTRACTID,
|
||||
NS_GET_IID(nsIProxyObjectManager),
|
||||
(nsISupports **)&manager);
|
||||
|
||||
printf("ProxyObjectManager: %p \n", manager);
|
||||
printf("ProxyObjectManager: %p\n", (void *) manager.get());
|
||||
|
||||
PR_ASSERT(manager);
|
||||
|
||||
@@ -319,11 +308,8 @@ void TestCase_2(void *arg)
|
||||
|
||||
ArgsStruct *argsStruct = (ArgsStruct*) arg;
|
||||
|
||||
nsIProxyObjectManager* manager;
|
||||
|
||||
nsServiceManager::GetService( NS_XPCOMPROXY_CONTRACTID,
|
||||
NS_GET_IID(nsIProxyObjectManager),
|
||||
(nsISupports **)&manager);
|
||||
nsCOMPtr<nsIProxyObjectManager> manager =
|
||||
do_GetService(NS_XPCOMPROXY_CONTRACTID);
|
||||
|
||||
PR_ASSERT(manager);
|
||||
|
||||
@@ -349,11 +335,8 @@ void TestCase_nsISupports(void *arg)
|
||||
|
||||
ArgsStruct *argsStruct = (ArgsStruct*) arg;
|
||||
|
||||
nsIProxyObjectManager* manager;
|
||||
|
||||
nsServiceManager::GetService( NS_XPCOMPROXY_CONTRACTID,
|
||||
NS_GET_IID(nsIProxyObjectManager),
|
||||
(nsISupports **)&manager);
|
||||
nsCOMPtr<nsIProxyObjectManager> manager =
|
||||
do_GetService(NS_XPCOMPROXY_CONTRACTID);
|
||||
|
||||
PR_ASSERT(manager);
|
||||
|
||||
@@ -427,11 +410,8 @@ static void PR_CALLBACK EventLoop( void *arg )
|
||||
|
||||
printf("Verifing calling Proxy on eventQ thread.\n");
|
||||
|
||||
nsIProxyObjectManager* manager;
|
||||
|
||||
nsServiceManager::GetService( NS_XPCOMPROXY_CONTRACTID,
|
||||
NS_GET_IID(nsIProxyObjectManager),
|
||||
(nsISupports **)&manager);
|
||||
nsCOMPtr<nsIProxyObjectManager> manager =
|
||||
do_GetService(NS_XPCOMPROXY_CONTRACTID);
|
||||
|
||||
PR_ASSERT(manager);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user