summaryrefslogtreecommitdiff
path: root/extensions/source/ole/servprov.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/source/ole/servprov.cxx')
-rw-r--r--extensions/source/ole/servprov.cxx25
1 files changed, 10 insertions, 15 deletions
diff --git a/extensions/source/ole/servprov.cxx b/extensions/source/ole/servprov.cxx
index 0d1e98cd34c5..a6bb4ef58d80 100644
--- a/extensions/source/ole/servprov.cxx
+++ b/extensions/source/ole/servprov.cxx
@@ -44,9 +44,8 @@ using namespace com::sun::star::bridge::ModelDependent;
DEFINE_GUID(OID_ServiceManager, 0x82154420, 0xfbf, 0x11d4, 0x83, 0x13, 0x0, 0x50, 0x4, 0x52, 0x6a, 0xb4);
ProviderOleWrapper::ProviderOleWrapper(const Reference<XMultiServiceFactory>& smgr,
- const Reference<XSingleServiceFactory>& xSFact, GUID const * pGuid)
+ const Reference<XSingleServiceFactory>& xSFact)
: m_xSingleServiceFactory(xSFact),
- m_guid(*pGuid),
m_smgr( smgr)
{
Reference<XInterface> xInt = smgr->createInstance("com.sun.star.bridge.oleautomation.BridgeSupplier");
@@ -63,14 +62,14 @@ ProviderOleWrapper::~ProviderOleWrapper()
{
}
-bool ProviderOleWrapper::registerClass()
+bool ProviderOleWrapper::registerClass(GUID const * pGuid)
{
HRESULT hresult;
o2u_attachCurrentThread();
hresult = CoRegisterClassObject(
- m_guid,
+ *pGuid,
this,
CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER,
REGCLS_MULTIPLEUSE,
@@ -171,11 +170,9 @@ STDMETHODIMP ProviderOleWrapper::LockServer(int /*fLock*/)
}
OneInstanceOleWrapper::OneInstanceOleWrapper( const Reference<XMultiServiceFactory>& smgr,
- const Reference<XInterface>& xInst,
- GUID const * pGuid )
+ const Reference<XInterface>& xInst )
: m_refCount(0)
, m_xInst(xInst)
- , m_guid(*pGuid)
, m_factoryHandle(0)
, m_smgr(smgr)
{
@@ -192,14 +189,14 @@ OneInstanceOleWrapper::~OneInstanceOleWrapper()
{
}
-bool OneInstanceOleWrapper::registerClass()
+bool OneInstanceOleWrapper::registerClass(GUID const * pGuid)
{
HRESULT hresult;
o2u_attachCurrentThread();
hresult = CoRegisterClassObject(
- m_guid,
+ *pGuid,
this,
CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER,
REGCLS_MULTIPLEUSE,
@@ -617,24 +614,22 @@ css::uno::Sequence<OUString> OleServer::getSupportedServiceNames()
bool OleServer::provideService(const Reference<XSingleServiceFactory>& xSFact, GUID const * guid)
{
- IClassFactoryWrapper* pFac = new ProviderOleWrapper( m_smgr, xSFact, guid);
+ IClassFactoryWrapper* pFac = new ProviderOleWrapper( m_smgr, xSFact );
pFac->AddRef();
-
m_wrapperList.push_back(pFac);
- return pFac->registerClass();
+ return pFac->registerClass(guid);
}
bool OleServer::provideInstance(const Reference<XInterface>& xInst, GUID const * guid)
{
- IClassFactoryWrapper* pFac =
- new OneInstanceOleWrapper( m_smgr, xInst, guid );
+ IClassFactoryWrapper* pFac = new OneInstanceOleWrapper( m_smgr, xInst );
pFac->AddRef();
m_wrapperList.push_back(pFac);
- return pFac->registerClass();
+ return pFac->registerClass(guid);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */