diff --git a/mozilla/java/xpcom/wrappers/nsIXPIDLServiceManager.idl b/mozilla/java/xpcom/wrappers/nsIXPIDLServiceManager.idl index 7bf76c86231..29cc42addd5 100644 --- a/mozilla/java/xpcom/wrappers/nsIXPIDLServiceManager.idl +++ b/mozilla/java/xpcom/wrappers/nsIXPIDLServiceManager.idl @@ -29,5 +29,6 @@ interface nsIXPIDLServiceManager : nsISupports void registerService(in nsCIDRef aClass, in nsISupports aService); void unregisterService(in nsCIDRef aClass); nsISupports getService(in nsCIDRef aClass, in nsIIDRef aIID); + nsISupports getServiceByContractID(in string contractID, in nsIIDRef aIID); void ReleaseService(in nsCIDRef aClass, in nsISupports service); }; diff --git a/mozilla/java/xpcom/wrappers/nsXPIDLServiceManager.cpp b/mozilla/java/xpcom/wrappers/nsXPIDLServiceManager.cpp index c65b2209c49..c7e1cb47b09 100644 --- a/mozilla/java/xpcom/wrappers/nsXPIDLServiceManager.cpp +++ b/mozilla/java/xpcom/wrappers/nsXPIDLServiceManager.cpp @@ -39,6 +39,11 @@ NS_IMETHODIMP nsXPIDLServiceManager::UnregisterService(const nsCID & aClass) { NS_IMETHODIMP nsXPIDLServiceManager::GetService(const nsCID & aClass, const nsIID & aIID, nsISupports **_retval) { return nsServiceManager::GetService(aClass,aIID,_retval); } + +NS_IMETHODIMP nsXPIDLServiceManager::GetServiceByContractID(const char *contractID, const nsIID & aIID, nsISupports **_retval) { + return nsServiceManager::GetService(contractID,aIID,_retval); +} + NS_IMETHODIMP nsXPIDLServiceManager::ReleaseService(const nsCID & aClass, nsISupports *service) { return nsServiceManager::ReleaseService(aClass,service); }