// Factory.h: interface for the CFactory class. // ////////////////////////////////////////////////////////////////////// #if !defined(__MYFACTORY_H) #define __MYFACTORY_H #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 ////////////////////////////////////////////////////////////////////// // Base Class Factory for HealthMon consumer and providers ////////////////////////////////////////////////////////////////////// class CBaseFactory : public IClassFactory { public: CBaseFactory(); virtual ~CBaseFactory(); public: // IUnknown STDMETHODIMP QueryInterface(REFIID riid, LPVOID* ppv); STDMETHODIMP_(ULONG) AddRef(void); STDMETHODIMP_(ULONG) Release(void); //IClassFactory members STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*); STDMETHODIMP LockServer(BOOL); protected: ULONG m_cRef; }; ////////////////////////////////////////////////////////////////////// // Class Factory for Consumer (original agent) ////////////////////////////////////////////////////////////////////// class CConsFactory : public CBaseFactory { public: STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*); }; ////////////////////////////////////////////////////////////////////// // Class Factories for Event Providers ////////////////////////////////////////////////////////////////////// class CSystemEvtProvFactory : public CBaseFactory { public: STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*); }; class CDataGroupEvtProvFactory : public CBaseFactory { public: STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*); }; class CDataCollectorEvtProvFactory : public CBaseFactory { public: STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*); }; class CDataCollectorPerInstanceEvtProvFactory : public CBaseFactory { public: STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*); }; class CDataCollectorStatisticsEvtProvFactory : public CBaseFactory { public: STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*); }; class CThresholdEvtProvFactory : public CBaseFactory { public: STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*); }; //class CThresholdInstanceEvtProvFactory : public CBaseFactory //{ //public: // STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*); //}; class CActionEvtProvFactory : public CBaseFactory { public: STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*); }; class CActionTriggerEvtProvFactory : public CBaseFactory { public: STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*); }; ////////////////////////////////////////////////////////////////////// // Class Factories for Instance Provider ////////////////////////////////////////////////////////////////////// class CInstProvFactory : public CBaseFactory { public: STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*); }; ////////////////////////////////////////////////////////////////////// // Class Factories for Method Provider ////////////////////////////////////////////////////////////////////// class CMethProvFactory : public CBaseFactory { public: STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*); }; #endif // !defined(__MYFACTORY_H)