|
|
/*++
Copyright (c) 1997 Microsoft Corporation
Module Name:
ilogcat.h
Abstract:
Internal implementation for a logging category item.
Environment:
WIN32 User Mode
Author:
Darwin Ouyang (t-darouy) 30-Sept-1997
--*/
#ifndef __IDEVICE_H_
#define __IDEVICE_H_
#include "winfax.h"
#define CSID_LIMIT 20
#define TSID_LIMIT 20
#define MIN_RING_COUNT 1
#define MAX_RING_COUNT 99
class CFaxDeviceSettingsPropSheet; // forward decl
class CFaxRoutePriPropSheet; // forward decl
class CInternalDevice : public CInternalNode {
public: CInternalDevice( CInternalNode * pParent, CFaxComponentData * pCompData, HANDLE faxHandle, DWORD devID ); ~CInternalDevice(); // IComponent over-rides
HRESULT STDMETHODCALLTYPE ResultGetDisplayInfo( /* [in] */ CFaxComponent * pComp, /* [out][in] */ RESULTDATAITEM __RPC_FAR *pResultDataItem);
// IExtendContextMenu overrides for IComponent
virtual HRESULT STDMETHODCALLTYPE ComponentContextMenuAddMenuItems( /* [in] */ CFaxComponent * pCompData, /* [in] */ CFaxDataObject * piDataObject, /* [in] */ LPCONTEXTMENUCALLBACK piCallback, /* [out][in] */ long __RPC_FAR *pInsertionAllowed);
virtual HRESULT STDMETHODCALLTYPE ComponentContextMenuCommand( /* [in] */ CFaxComponent * pCompData, /* [in] */ long lCommandID, /* [in] */ CFaxDataObject * piDataObject);
// IExtendPropertySheet overrides for IComponent
virtual HRESULT STDMETHODCALLTYPE ComponentPropertySheetCreatePropertyPages( /* [in] */ CFaxComponent * pComp, /* [in] */ LPPROPERTYSHEETCALLBACK lpProvider, /* [in] */ LONG_PTR handle, /* [in] */ CFaxDataObject * lpIDataObject);
virtual HRESULT STDMETHODCALLTYPE ComponentPropertySheetQueryPagesFor( /* [in] */ CFaxComponent * pComp, /* [in] */ CFaxDataObject * lpDataObject);
// IDataObject overrides
virtual HRESULT DataObjectRegisterFormats(); virtual HRESULT DataObjectGetDataHere( FORMATETC __RPC_FAR *pFormatEtc, IStream * pstm );
// event handlers
virtual HRESULT ResultOnSelect(CFaxComponent* pComp, CFaxDataObject * lpDataObject, LPARAM arg, LPARAM param);
virtual HRESULT ResultOnPropertyChange(CFaxComponent* pComp, CFaxDataObject * lpDataObject, LPARAM arg, LPARAM param);
virtual HRESULT ControlBarOnBtnClick(CFaxComponent* pComp, CFaxDataObject * lpDataObject, LPARAM param ); virtual HRESULT ControlBarOnSelect(CFaxComponent* pComp, LPARAM arg, CFaxDataObject * lpDataObject );
// member functions
virtual const GUID * GetNodeGUID(); virtual const LPTSTR GetNodeDisplayName(); virtual const LONG_PTR GetCookie(); virtual CInternalNode * GetThis() { return this; } virtual const int GetNodeDisplayImage() { return IDI_FAXING; } void SetItemID( HRESULTITEM hItem ) { hItemID = hItem; } LPTSTR GetStatusString( DWORD state );
// these functions get and commit the state this device to the fax server
HRESULT RetrieveNewInfo(); HRESULT CommitNewInfo();
public: DWORD dwDeviceId; HANDLE hFaxServer; PFAX_PORT_INFO pDeviceInfo; HRESULTITEM hItemID;
// clipboard formats
static UINT s_cfFaxDevice; static UINT s_cfFaxServerDown;
CFaxDeviceSettingsPropSheet *pMyPropSheet; MMC_CONSOLE_VERB defaultVerb; LPTOOLBAR myToolBar;
static CRITICAL_SECTION csDeviceLock; };
typedef CInternalDevice* pCInternalDevice;
#endif
|