458 lines
9.2 KiB
C++
458 lines
9.2 KiB
C++
|
|
/*
|
|
|
|
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_
|