#ifndef CLASSFAC_H
#define CLASSFAC_H

class ClassFactory : public IClassFactory
{

private:
       
    long m_cref;

    ClassFactory();
    ~ClassFactory();
       
public:

    static HRESULT Create(ClassFactory * * ppFactory);

    // IUnknown
    STDMETHODIMP QueryInterface(REFIID riid, void** ppv);
    STDMETHODIMP_(ULONG) AddRef(void);
    STDMETHODIMP_(ULONG) Release(void);
    // IClassFactory
    STDMETHODIMP LockServer(BOOL fLock);
    STDMETHODIMP CreateInstance(IUnknown * punkOuter, REFIID riid, void ** ppv);
};

#endif // !CLASSFAC_H