joachim99@75: /* joachim99@75: * Copyright (c) 2003, Sergey Zorin. All rights reserved. joachim99@75: * joachim99@75: * This software is distributable under the BSD license. See the terms joachim99@75: * of the BSD license in the LICENSE file provided with this software. joachim99@75: * joachim99@75: */ joachim99@75: joachim99@75: #ifndef __class_factory_h__ joachim99@75: #define __class_factory_h__ joachim99@75: joachim99@75: #include joachim99@75: #include joachim99@75: joachim99@75: class CLASS_FACTORY : public IClassFactory { joachim99@75: public: joachim99@75: CLASS_FACTORY(); joachim99@75: virtual ~CLASS_FACTORY(); joachim99@75: joachim99@75: //IUnknown members joachim99@75: STDMETHODIMP QueryInterface(REFIID, void**); joachim99@75: STDMETHODIMP_(ULONG) AddRef(); joachim99@75: STDMETHODIMP_(ULONG) Release(); joachim99@75: joachim99@75: //ICLASS_FACTORY members joachim99@75: STDMETHODIMP CreateInstance(IUnknown*, REFIID, void**); joachim99@75: STDMETHODIMP LockServer(BOOL); joachim99@75: joachim99@75: private: joachim99@75: ULONG _ref_count; joachim99@75: }; joachim99@75: joachim99@75: #endif //__class_factory_h__