133 lines
4.9 KiB
C
133 lines
4.9 KiB
C
|
/*++
|
||
|
|
||
|
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
|