|
|
/*
Copyright (c) 2000 Microsoft Corporation
Module Name:
termevnt.cpp
Abstract:
This module contains declarations for terminal event classes
*/
#ifndef _TERMEVNT_DOT_H_
#define _TERMEVNT_DOT_H_
//
// ASR Terminal Event class
//
class CASRTerminalEvent : public CTAPIComObjectRoot<CASRTerminalEvent>, public CComDualImpl<ITASRTerminalEvent, &IID_ITASRTerminalEvent, &LIBID_TAPI3Lib>, public CObjectSafeImpl {
public:
DECLARE_MARSHALQI(CASRTerminalEvent) DECLARE_TRACELOG_CLASS(CASRTerminalEvent)
BEGIN_COM_MAP(CASRTerminalEvent) COM_INTERFACE_ENTRY(IDispatch) COM_INTERFACE_ENTRY(ITASRTerminalEvent) COM_INTERFACE_ENTRY(IObjectSafety) COM_INTERFACE_ENTRY_FUNC(IID_IMarshal, 0, IMarshalQI) COM_INTERFACE_ENTRY_AGGREGATE(IID_IMarshal, m_pFTM) END_COM_MAP()
static HRESULT FireEvent( CTAPI * pTapi, ITCallInfo *pCall, ITTerminal * pTerminal, HRESULT hr );
CASRTerminalEvent(); virtual ~CASRTerminalEvent();
//
// ITASRTerminalEvent methods
//
virtual HRESULT STDMETHODCALLTYPE get_Terminal( OUT ITTerminal **ppTerminal );
virtual HRESULT STDMETHODCALLTYPE get_Call( OUT ITCallInfo **ppCallInfo ); virtual HRESULT STDMETHODCALLTYPE get_Error( OUT HRESULT *phrErrorCode );
//
// methods for setting data members
//
virtual HRESULT STDMETHODCALLTYPE put_Terminal( IN ITTerminal *pTerminal );
virtual HRESULT STDMETHODCALLTYPE put_Call( IN ITCallInfo *pCallInfo ); virtual HRESULT STDMETHODCALLTYPE put_ErrorCode( IN HRESULT hrErrorCode );
private:
//
// the call on which the event was generated
//
ITCallInfo *m_pCallInfo;
//
// the terminal that caused the event (or whose tracks cause the event)
//
ITTerminal *m_pTerminal;
//
// HRESULT of the last error
//
HRESULT m_hr;
};
//
// File Terminal Event class
//
class CFileTerminalEvent : public CTAPIComObjectRoot<CFileTerminalEvent, CComMultiThreadModelNoCS>, public CComDualImpl<ITFileTerminalEvent, &IID_ITFileTerminalEvent, &LIBID_TAPI3Lib>, public CObjectSafeImpl {
public:
DECLARE_MARSHALQI(CFileTerminalEvent) DECLARE_TRACELOG_CLASS(CFileTerminalEvent)
BEGIN_COM_MAP(CFileTerminalEvent) COM_INTERFACE_ENTRY(IDispatch) COM_INTERFACE_ENTRY(ITFileTerminalEvent) COM_INTERFACE_ENTRY(IObjectSafety) COM_INTERFACE_ENTRY_FUNC(IID_IMarshal, 0, IMarshalQI) COM_INTERFACE_ENTRY_AGGREGATE(IID_IMarshal, m_pFTM) END_COM_MAP()
static HRESULT FireEvent( CAddress *pCAddress, CTAPI * pTapi, ITCallInfo *pCall, TERMINAL_MEDIA_STATE tmsMediaState, FT_STATE_EVENT_CAUSE ftecEventCause, ITTerminal * pTerminal, ITFileTrack * pFileTrack, HRESULT hr );
CFileTerminalEvent (); virtual ~CFileTerminalEvent();
//
// ITFileTerminalEvent methods
//
virtual HRESULT STDMETHODCALLTYPE get_Terminal( OUT ITTerminal **ppTerminal );
virtual HRESULT STDMETHODCALLTYPE get_Track( OUT ITFileTrack **ppFileTrack );
virtual HRESULT STDMETHODCALLTYPE get_Call( OUT ITCallInfo **ppCallInfo ); virtual HRESULT STDMETHODCALLTYPE get_State( OUT TERMINAL_MEDIA_STATE *pMediaState ); virtual HRESULT STDMETHODCALLTYPE get_Cause( OUT FT_STATE_EVENT_CAUSE *pCause );
virtual HRESULT STDMETHODCALLTYPE get_Error( OUT HRESULT *phrErrorCode );
//
// methods for setting data members
//
virtual HRESULT STDMETHODCALLTYPE put_Terminal( IN ITTerminal *pTerminal );
virtual HRESULT STDMETHODCALLTYPE put_Track( IN ITFileTrack *pFileTrack );
virtual HRESULT STDMETHODCALLTYPE put_Call( IN ITCallInfo *pCallInfo ); virtual HRESULT STDMETHODCALLTYPE put_State( IN TERMINAL_MEDIA_STATE tmsTerminalMediaState ); virtual HRESULT STDMETHODCALLTYPE put_Cause( IN FT_STATE_EVENT_CAUSE Cause );
virtual HRESULT STDMETHODCALLTYPE put_ErrorCode( IN HRESULT hrErrorCode );
private:
//
// the call on which the event was generated
//
ITCallInfo *m_pCallInfo;
//
// the state to which the terminal transitioned in the result of the action that caused the event
//
TERMINAL_MEDIA_STATE m_tmsTerminalState;
//
// the cause of the event
//
FT_STATE_EVENT_CAUSE m_ftecEventCause;
//
// the controlling parent terminal that caused the event (or whose tracks cause the event)
//
ITTerminal *m_pParentFileTerminal;
//
// the track involved in the event
//
ITFileTrack *m_pFileTrack;
//
// HRESULT of the last error
//
HRESULT m_hr;
};
//
// Tone Terminal Event class
//
class CToneTerminalEvent : public CTAPIComObjectRoot<CToneTerminalEvent>, public CComDualImpl<ITToneTerminalEvent, &IID_ITToneTerminalEvent, &LIBID_TAPI3Lib>, public CObjectSafeImpl {
public:
DECLARE_MARSHALQI(CToneTerminalEvent) DECLARE_TRACELOG_CLASS(CToneTerminalEvent)
BEGIN_COM_MAP(CToneTerminalEvent) COM_INTERFACE_ENTRY(IDispatch) COM_INTERFACE_ENTRY(ITToneTerminalEvent) COM_INTERFACE_ENTRY(IObjectSafety) COM_INTERFACE_ENTRY_FUNC(IID_IMarshal, 0, IMarshalQI) COM_INTERFACE_ENTRY_AGGREGATE(IID_IMarshal, m_pFTM) END_COM_MAP()
static HRESULT FireEvent( CTAPI * pTapi, ITCallInfo *pCall, ITTerminal * pTerminal, HRESULT hr );
CToneTerminalEvent(); virtual ~CToneTerminalEvent();
//
// ITToneTerminalEvent methods
//
virtual HRESULT STDMETHODCALLTYPE get_Terminal( OUT ITTerminal **ppTerminal );
virtual HRESULT STDMETHODCALLTYPE get_Call( OUT ITCallInfo **ppCallInfo ); virtual HRESULT STDMETHODCALLTYPE get_Error( OUT HRESULT *phrErrorCode );
//
// methods for setting data members
//
virtual HRESULT STDMETHODCALLTYPE put_Terminal( IN ITTerminal *pTerminal );
virtual HRESULT STDMETHODCALLTYPE put_Call( IN ITCallInfo *pCallInfo ); virtual HRESULT STDMETHODCALLTYPE put_ErrorCode( IN HRESULT hrErrorCode );
private:
//
// the call on which the event was generated
//
ITCallInfo *m_pCallInfo;
//
// the terminal that caused the event (or whose tracks cause the event)
//
ITTerminal *m_pTerminal;
//
// HRESULT of the last error
//
HRESULT m_hr;
};
//
// text to speech terminal event class
//
class CTTSTerminalEvent : public CTAPIComObjectRoot<CTTSTerminalEvent>, public CComDualImpl<ITTTSTerminalEvent, &IID_ITTTSTerminalEvent, &LIBID_TAPI3Lib>, public CObjectSafeImpl {
public:
DECLARE_MARSHALQI(CTTSTerminalEvent) DECLARE_TRACELOG_CLASS(CTTSTerminalEvent)
BEGIN_COM_MAP(CTTSTerminalEvent) COM_INTERFACE_ENTRY(IDispatch) COM_INTERFACE_ENTRY(ITTTSTerminalEvent) COM_INTERFACE_ENTRY(IObjectSafety) COM_INTERFACE_ENTRY_FUNC(IID_IMarshal, 0, IMarshalQI) COM_INTERFACE_ENTRY_AGGREGATE(IID_IMarshal, m_pFTM) END_COM_MAP()
static HRESULT FireEvent( CTAPI * pTapi, ITCallInfo *pCall, ITTerminal * pTerminal, HRESULT hr );
CTTSTerminalEvent(); virtual ~CTTSTerminalEvent();
//
// ITTTSTerminalEvent methods
//
virtual HRESULT STDMETHODCALLTYPE get_Terminal( OUT ITTerminal **ppTerminal );
virtual HRESULT STDMETHODCALLTYPE get_Call( OUT ITCallInfo **ppCallInfo ); virtual HRESULT STDMETHODCALLTYPE get_Error( OUT HRESULT *phrErrorCode );
//
// methods for setting data members
//
virtual HRESULT STDMETHODCALLTYPE put_Terminal( IN ITTerminal *pTerminal );
virtual HRESULT STDMETHODCALLTYPE put_Call( IN ITCallInfo *pCallInfo ); virtual HRESULT STDMETHODCALLTYPE put_ErrorCode( IN HRESULT hrErrorCode );
private:
//
// the call on which the event was generated
//
ITCallInfo *m_pCallInfo;
//
// the terminal that caused the event (or whose tracks cause the event)
//
ITTerminal *m_pTerminal;
//
// HRESULT of the last error
//
HRESULT m_hr;
};
#endif // _TTS_TERMIAL_EVENT_DOT_H_
|