diff options
author | Dirk Voelzke <dv@openoffice.org> | 2010-01-26 07:36:23 +0100 |
---|---|---|
committer | Dirk Voelzke <dv@openoffice.org> | 2010-01-26 07:36:23 +0100 |
commit | 69adeb47391412ea0328055d3773d5b6ce0d00a6 (patch) | |
tree | 46a7d3269e724ffad7b5745395d41f1b8c9bdde8 /shell/inc/internal/propertyhdl.hxx | |
parent | f8d47b590bb74979453368f35f24250384a24ce2 (diff) |
dv17: #i70994#: Moved property handler to own library to avoid problems with old Windows versions
Diffstat (limited to 'shell/inc/internal/propertyhdl.hxx')
-rwxr-xr-x | shell/inc/internal/propertyhdl.hxx | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/shell/inc/internal/propertyhdl.hxx b/shell/inc/internal/propertyhdl.hxx index 60ff10bc6958..6379fdf0137b 100755 --- a/shell/inc/internal/propertyhdl.hxx +++ b/shell/inc/internal/propertyhdl.hxx @@ -40,6 +40,10 @@ #pragma warning(pop) #endif +// {AE424E85-F6DF-4910-A6A9-438797986431} +const CLSID CLSID_PROPERTY_HANDLER = +{ 0xae424e85, 0xf6df, 0x4910, { 0xa6, 0xa9, 0x43, 0x87, 0x97, 0x98, 0x64, 0x31 } }; + class CMetaInfoReader; class CPropertyHdl : public IPropertyStore, @@ -87,4 +91,36 @@ private: IPropertyStoreCache* m_pCache; }; +class CClassFactory : public IClassFactory +{ +public: + CClassFactory( const CLSID& clsid ); + virtual ~CClassFactory(); + + //----------------------------- + // IUnknown methods + //----------------------------- + virtual HRESULT STDMETHODCALLTYPE QueryInterface( + REFIID riid, + void __RPC_FAR *__RPC_FAR *ppvObject); + virtual ULONG STDMETHODCALLTYPE AddRef( void ); + virtual ULONG STDMETHODCALLTYPE Release( void ); + + //----------------------------- + // IClassFactory methods + //----------------------------- + virtual HRESULT STDMETHODCALLTYPE CreateInstance( + IUnknown __RPC_FAR *pUnkOuter, + REFIID riid, + void __RPC_FAR *__RPC_FAR *ppvObject); + + virtual HRESULT STDMETHODCALLTYPE LockServer( BOOL fLock ); + static bool IsLocked(); + +private: + long m_RefCnt; + CLSID m_Clsid; + static long s_ServerLocks; +}; + #endif |