/*++ Copyright (c) 1997-1999 Microsoft Corporation Module Name: terminal.h Abstract: Declaration of the CTerminal class Author: mquinton 06-12-97 Notes: Revision History: --*/ #ifndef __TERMINAL_H_ #define __TERMINAL_H_ #include "address.h" #include "resource.h" // main symbols #include "connect.h" class CTAPI; ///////////////////////////////////////////////////////////////////////////// // CTerminal class CTerminal : public CTAPIComObjectRoot, public CComDualImpl, public CComDualImpl, public ITTerminalPrivate, public CObjectSafeImpl { public: CTerminal() : m_pName(NULL), m_State(TS_NOTINUSE), m_TerminalType(TT_STATIC), m_Direction(TD_RENDER), m_Class(CLSID_NULL), m_lMediaType(LINEMEDIAMODE_AUTOMATEDVOICE), m_pMSPCall(NULL), m_dwAPIVersion(0) {} void FinalRelease(); DECLARE_MARSHALQI(CTerminal) DECLARE_TRACELOG_CLASS(CTerminal) BEGIN_COM_MAP(CTerminal) COM_INTERFACE_ENTRY2(IDispatch, ITTerminal) COM_INTERFACE_ENTRY(ITTerminal) COM_INTERFACE_ENTRY(ITBasicAudioTerminal) COM_INTERFACE_ENTRY(ITTerminalPrivate) COM_INTERFACE_ENTRY(IObjectSafety) COM_INTERFACE_ENTRY_FUNC(IID_IMarshal, 0, IMarshalQI) COM_INTERFACE_ENTRY_AGGREGATE(IID_IMarshal, m_pFTM) END_COM_MAP() protected: PWSTR m_pName; TERMINAL_STATE m_State; TERMINAL_TYPE m_TerminalType; TERMINAL_DIRECTION m_Direction; DWORD m_dwAPIVersion; CLSID m_Class; long m_lMediaType; DWORD m_dwHookSwitchDev; DWORD m_dwPhoneID; HPHONEAPP m_hPhoneApp; ITPhoneMSPCallPrivate * m_pMSPCall; #if DBG PWSTR m_pDebug; #endif public: HRESULT static Create( HPHONEAPP hPhoneApp, DWORD dwPhoneID, LPPHONECAPS pPhoneCaps, DWORD dwHookSwitchDev, TERMINAL_DIRECTION td, DWORD dwAPIVersion, ITTerminal ** ppTerminal ); // // ITTerminal // STDMETHOD(get_Name)(BSTR * ppName); STDMETHOD(get_State)(TERMINAL_STATE * pTerminalState); STDMETHOD(get_TerminalType)(TERMINAL_TYPE * pType); STDMETHOD(get_TerminalClass)(BSTR * pTerminalClass); STDMETHOD(get_MediaType)(long * plMediaType); STDMETHOD(get_Direction)(TERMINAL_DIRECTION * pTerminalDirection); // itterminalprivate STDMETHOD(GetHookSwitchDev)(DWORD * pdwHookSwitchDev); STDMETHOD(GetPhoneID)(DWORD * pdwPhoneID); STDMETHOD(GetHPhoneApp)(HPHONEAPP * phPhoneApp); STDMETHOD(GetAPIVersion)(DWORD * pdwAPIVersion); STDMETHOD(SetMSPCall)(ITPhoneMSPCallPrivate * pPhoneMSPCall); // itbasicaudio STDMETHOD(get_Gain)(long *pVal); STDMETHOD(put_Gain)(long newVal); STDMETHOD(get_Balance)(long *pVal); STDMETHOD(put_Balance)(long newVal); STDMETHOD(get_Volume)(long *pVal); STDMETHOD(put_Volume)(long newVal); }; #endif //__TERMINAL_H_