/*++ Copyright (c) 2000 Microsoft Corporation Module Name: FaxActivity.h Abstract: Declaration of the CFaxActivity Class. Author: Iv Garber (IvG) Jun, 2000 Revision History: --*/ #ifndef __FAXACTIVITY_H_ #define __FAXACTIVITY_H_ #include "resource.h" // main symbols #include "FaxCommon.h" // //==================== ACTIVITY ========================================== // class ATL_NO_VTABLE CFaxActivity : public CComObjectRootEx, public ISupportErrorInfo, public IDispatchImpl, public CFaxInitInner { public: CFaxActivity() : CFaxInitInner(_T("FAX ACTIVITY")), m_bInited(false) { m_ServerActivity.dwSizeOfStruct = sizeof(FAX_SERVER_ACTIVITY); } DECLARE_REGISTRY_RESOURCEID(IDR_FAXACTIVITY) DECLARE_NOT_AGGREGATABLE(CFaxActivity) DECLARE_PROTECT_FINAL_CONSTRUCT() BEGIN_COM_MAP(CFaxActivity) COM_INTERFACE_ENTRY(IFaxActivity) COM_INTERFACE_ENTRY(IDispatch) COM_INTERFACE_ENTRY(ISupportErrorInfo) COM_INTERFACE_ENTRY(IFaxInitInner) END_COM_MAP() // Interfaces STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid); STDMETHOD(Refresh)(); STDMETHOD(get_QueuedMessages)(/*[out, retval]*/ long *plQueuedMessages); STDMETHOD(get_RoutingMessages)(/*[out, retval]*/ long *plRoutingMessages); STDMETHOD(get_IncomingMessages)(/*[out, retval]*/ long *plIncomingMessages); STDMETHOD(get_OutgoingMessages)(/*[out, retval]*/ long *plOutgoingMessages); private: typedef enum MSG_TYPE { mtINCOMING, mtROUTING, mtOUTGOING, mtQUEUED } MSG_TYPE; bool m_bInited; FAX_SERVER_ACTIVITY m_ServerActivity; STDMETHOD(GetNumberOfMessages)(MSG_TYPE msgType, long *plNumber); }; #endif //__FAXACTIVITY_H_