|
|
// // Copyright (c) Microsoft Corporation. All rights reserved.
cpp_quote("/* Copyright (c) Microsoft Corporation. All rights reserved. */")
// callcent.idl : IDL source for tapi3 Call centre support //
import "oaidl.idl"; import "tapi3if.idl";
typedef enum AGENT_EVENT { AE_NOT_READY, AE_READY, AE_BUSY_ACD, AE_BUSY_INCOMING, AE_BUSY_OUTGOING, AE_UNKNOWN,
} AGENT_EVENT;
typedef enum AGENT_STATE { AS_NOT_READY, AS_READY, AS_BUSY_ACD, AS_BUSY_INCOMING, AS_BUSY_OUTGOING, AS_UNKNOWN
} AGENT_STATE;
typedef enum AGENT_SESSION_EVENT { ASE_NEW_SESSION, ASE_NOT_READY, ASE_READY, ASE_BUSY, ASE_WRAPUP, ASE_END
} AGENT_SESSION_EVENT;
typedef enum AGENT_SESSION_STATE { ASST_NOT_READY, ASST_READY, ASST_BUSY_ON_CALL, ASST_BUSY_WRAPUP, ASST_SESSION_ENDED
} AGENT_SESSION_STATE;
typedef enum AGENTHANDLER_EVENT { AHE_NEW_AGENTHANDLER, AHE_AGENTHANDLER_REMOVED
} AGENTHANDLER_EVENT;
typedef enum ACDGROUP_EVENT { ACDGE_NEW_GROUP, ACDGE_GROUP_REMOVED
} ACDGROUP_EVENT;
typedef enum ACDQUEUE_EVENT { ACDQE_NEW_QUEUE, ACDQE_QUEUE_REMOVED
} ACDQUEUE_EVENT;
// forward definitions interface IEnumAgentSession; interface IEnumAgent; interface IEnumQueue; interface IEnumACDGroup; interface IEnumAgentHandler;
interface ITAgentHandler; interface ITAgent; interface ITAgentSession; interface ITACDGroup; interface ITQueue; interface ITAgentEvent; interface ITAgentSessionEvent; interface ITAgentHandlerEvent; interface ITACDGroupEvent; interface ITQueueEvent;
// ITAgent [ uuid( 5770ECE5-4B27-11d1-BF80-00805FC147D3 ), helpstring("TAPI 3.0 ITAgent interface"), dual ]
interface ITAgent : IDispatch { [id(1), hidden, helpstring("method EnumerateAgentSessions")] HRESULT EnumerateAgentSessions( [out, retval] IEnumAgentSession ** ppEnumAgentSession );
[id(2), helpstring("method CreateSession")] HRESULT CreateSession( [in] ITACDGroup * pACDGroup, [in] ITAddress * pAddress, [out,retval] ITAgentSession ** ppAgentSession ); [id(3), helpstring("method CreateSessionWithPIN")] HRESULT CreateSessionWithPIN( [in] ITACDGroup * pACDGroup, [in] ITAddress * pAddress, [in] BSTR pPIN, [out,retval] ITAgentSession ** ppAgentSession );
[propget, id(4), helpstring("property ID")] HRESULT ID( [out, retval] BSTR * ppID );
[propget, id(5), helpstring("property User")] HRESULT User( [out, retval] BSTR * ppUser );
[propput, id(6), helpstring("property State")] HRESULT State( [in] AGENT_STATE AgentState );
[propget, id(6), helpstring("property State")] HRESULT State( [out, retval] AGENT_STATE * pAgentState );
[propput, id(7), helpstring("property MeasurementPeriod")] HRESULT MeasurementPeriod( [in] long lPeriod );
[propget, id(7), helpstring("property MeasurementPeriod")] HRESULT MeasurementPeriod( [out, retval] long * plPeriod );
[propget, id(8), helpstring("property OverallCallRate")] HRESULT OverallCallRate( [out, retval] CURRENCY * pcyCallrate );
[propget, id(9), helpstring("property NumberOfACDCalls")] HRESULT NumberOfACDCalls( [out, retval] long * plCalls );
[propget, id(10), helpstring("property NumberOfIncomingCalls")] HRESULT NumberOfIncomingCalls( [out, retval] long * plCalls );
[propget, id(11), helpstring("property NumberOfOutgoingCalls")] HRESULT NumberOfOutgoingCalls( [out, retval] long * plCalls );
[propget, id(12), helpstring("property TotalACDTalkTime")] HRESULT TotalACDTalkTime( [out, retval] long * plTalkTime );
[propget, id(13), helpstring("property TotalACDCallTime")] HRESULT TotalACDCallTime( [out, retval] long * plCallTime );
[propget, id(14), helpstring("property TotalWrapUpTime")] HRESULT TotalWrapUpTime( [out, retval] long * plWrapUpTime );
[propget, id(15), helpstring("property AgentSessions")] HRESULT AgentSessions( [out, retval] VARIANT * pVariant ); }
// ITAgentSession [ uuid( 5AFC3147-4BCC-11d1-BF80-00805FC147D3 ), helpstring("TAPI 3.0 ITAgentSession interface"), dual ]
interface ITAgentSession : IDispatch { [propget, id(1), helpstring("property Agent")] HRESULT Agent( [out, retval] ITAgent ** ppAgent );
[propget, id(2), helpstring("property Address")] HRESULT Address( [out, retval] ITAddress ** ppAddress );
[propget, id(3), helpstring("property ACDGroup")] HRESULT ACDGroup( [out, retval] ITACDGroup ** ppACDGroup ); [propput, id(4), helpstring("property State")] HRESULT State( [in] AGENT_SESSION_STATE SessionState );
[propget, id(4), helpstring("property State")] HRESULT State( [out, retval] AGENT_SESSION_STATE * pSessionState );
[propget, id(5), helpstring("property SessionStartTime")] HRESULT SessionStartTime( [out, retval] DATE * pdateSessionStart );
[propget, id(6), helpstring("property SessionDuration")] HRESULT SessionDuration( [out, retval] long * plDuration );
[propget, id(7), helpstring("property NumberOfCalls")] HRESULT NumberOfCalls( [out, retval] long * plCalls );
[propget, id(8), helpstring("property TotalTalkTime")] HRESULT TotalTalkTime( [out, retval] long * plTalkTime );
[propget, id(9), helpstring("property AverageTalkTime")] HRESULT AverageTalkTime( [out, retval] long * plTalkTime );
[propget, id(10), helpstring("property TotalCallTime")] HRESULT TotalCallTime( [out, retval] long * plCallTime );
[propget, id(11), helpstring("property AverageCallTime")] HRESULT AverageCallTime( [out, retval] long * plCallTime );
[propget, id(12), helpstring("property TotalWrapUpTime")] HRESULT TotalWrapUpTime( [out, retval] long * plWrapUpTime );
[propget, id(13), helpstring("property AverageWrapUpTime")] HRESULT AverageWrapUpTime( [out, retval] long * plWrapUpTime );
[propget, id(14), helpstring("property ACDCallRate")] HRESULT ACDCallRate( [out, retval] CURRENCY * pcyCallrate );
[propget, id(15), helpstring("property LongestTimeToAnswer")] HRESULT LongestTimeToAnswer( [out, retval] long * plAnswerTime );
[propget, id(16), helpstring("property AverageTimeToAnswer")] HRESULT AverageTimeToAnswer( [out, retval] long * plAnswerTime );
}
// ITACDGroup [ uuid( 5AFC3148-4BCC-11d1-BF80-00805FC147D3 ), helpstring("TAPI 3.0 ITACDGroup interface"), dual ]
interface ITACDGroup : IDispatch { [propget, id(1), helpstring("property Name")] HRESULT Name( [out, retval] BSTR * ppName );
[id(2), hidden, helpstring("method EnumerateQueues")] HRESULT EnumerateQueues( [out, retval] IEnumQueue ** ppEnumQueue );
[propget, id(3), helpstring("property Queues")] HRESULT Queues( [out, retval] VARIANT * pVariant );
}
/* // ITGroupSupervisor [ uuid( 587E8C24-9802-11d1-A0A4-00805FC147D3 ), helpstring("TAPI 3.0 ITGroupSupervisor interface"), dual ]
interface ITGroupSupervisor : IDispatch { [id(1), hidden, helpstring("method EnumerateAgentSessions")] HRESULT EnumerateAgentSessions( [out, retval] IEnumAgentSession ** ppEnumAgentSession );
[id(2), hidden, helpstring("method EnumerateAgents")] HRESULT EnumerateAgents( [out, retval] IEnumAgent ** ppEnumAgent ); [id(3), helpstring("method RegisterAgentSessionEvents")] HRESULT RegisterAgentSessionEvents( [in] VARIANT_BOOL bNotify );
} */
// ITQueue [ uuid( 5AFC3149-4BCC-11d1-BF80-00805FC147D3 ), helpstring("TAPI 3.0 ITQueue interface"), dual ]
interface ITQueue : IDispatch { [propput, id(1), helpstring("property MeasurementPeriod")] HRESULT MeasurementPeriod( [in] long lPeriod );
[propget, id(1), helpstring("property MeasurementPeriod")] HRESULT MeasurementPeriod( [out, retval] long * plPeriod );
[propget, id(2), helpstring("property TotalCallsQueued")] HRESULT TotalCallsQueued( [out, retval] long * plCalls );
[propget, id(3), helpstring("property CurrentCallsQueued")] HRESULT CurrentCallsQueued( [out, retval] long * plCalls ); [propget, id(4), helpstring("property TotalCallsAbandoned")] HRESULT TotalCallsAbandoned( [out, retval] long * plCalls );
[propget, id(5), helpstring("property TotalCallsFlowedIn")] HRESULT TotalCallsFlowedIn( [out, retval] long * plCalls );
[propget, id(6), helpstring("property TotalCallsFlowedOut")] HRESULT TotalCallsFlowedOut( [out, retval] long * plCalls );
[propget, id(7), helpstring("property LongestEverWaitTime")] HRESULT LongestEverWaitTime( [out, retval] long * plWaitTime );
[propget, id(8), helpstring("property CurrentLongestWaitTime")] HRESULT CurrentLongestWaitTime( [out, retval] long * plWaitTime );
[propget, id(9), helpstring("property AverageWaitTime")] HRESULT AverageWaitTime( [out, retval] long * plWaitTime );
[propget, id(10), helpstring("property FinalDisposition")] HRESULT FinalDisposition( [out, retval] long * plCalls );
[propget, id(11), helpstring("property Name")] HRESULT Name( [out, retval] BSTR * ppName );
}
// ITAgentEvent; [ uuid( 5AFC314A-4BCC-11d1-BF80-00805FC147D3 ), helpstring("TAPI 3.0 ITAgentEvent interface"), dual ]
interface ITAgentEvent : IDispatch { [propget, id(1), helpstring("property Agent")] HRESULT Agent( [out, retval] ITAgent ** ppAgent );
[propget, id(2), helpstring("property Event")] HRESULT Event( [out, retval] AGENT_EVENT * pEvent );
}
// ITAgentSessionEvent; [ uuid( 5AFC314B-4BCC-11d1-BF80-00805FC147D3 ), helpstring("TAPI 3.0 ITAgentSessionEvent interface"), dual ]
interface ITAgentSessionEvent : IDispatch { [propget, id(1), helpstring("property Session")] HRESULT Session( [out, retval] ITAgentSession ** ppSession );
[propget, id(2), helpstring("property Event")] HRESULT Event( [out, retval] AGENT_SESSION_EVENT * pEvent );
}
// ITACDGroupEvent; [ uuid( 297F3032-BD11-11d1-A0A7-00805FC147D3 ), helpstring("TAPI 3.0 ITACDGroupEvent interface"), dual ]
interface ITACDGroupEvent : IDispatch { [propget, id(1), helpstring("property Group")] HRESULT Group( [out, retval] ITACDGroup ** ppGroup );
[propget, id(2), helpstring("property Event")] HRESULT Event( [out, retval] ACDGROUP_EVENT * pEvent );
}
// ITQueueEvent; [ uuid( 297F3033-BD11-11d1-A0A7-00805FC147D3 ), helpstring("TAPI 3.0 ITQueueEvent interface"), dual ]
interface ITQueueEvent : IDispatch { [propget, id(1), helpstring("property Queue")] HRESULT Queue( [out, retval] ITQueue ** ppQueue );
[propget, id(2), helpstring("property Event")] HRESULT Event( [out, retval] ACDQUEUE_EVENT * pEvent );
}
// ITAgentHandlerEvent; [ uuid( 297F3034-BD11-11d1-A0A7-00805FC147D3 ), helpstring("TAPI 3.0 ITAgentHandlerEvent interface"), dual ]
interface ITAgentHandlerEvent : IDispatch { [propget, id(1), helpstring("property AgentHandler")] HRESULT AgentHandler( [out, retval] ITAgentHandler ** ppAgentHandler );
[propget, id(2), helpstring("property Event")] HRESULT Event( [out, retval] AGENTHANDLER_EVENT * pEvent );
}
// ITTAPICallCenter [ uuid( 5AFC3154-4BCC-11d1-BF80-00805FC147D3 ), helpstring("TAPI 3.0 ITTAPICallCenter interface"), dual ]
interface ITTAPICallCenter : IDispatch { [id(IDISPTAPICALLCENTER | 1), hidden, helpstring("method EnumerateAgentHandlers")] HRESULT EnumerateAgentHandlers( [out, retval] IEnumAgentHandler ** ppEnumHandler );
[propget, id(IDISPTAPICALLCENTER | 2), helpstring("property AgentHandlers")] HRESULT AgentHandlers( [out, retval] VARIANT * pVariant );
}
// ITAgentHandler [ uuid( 587E8C22-9802-11d1-A0A4-00805FC147D3 ), helpstring("TAPI 3.0 ITAgentHandler interface"), dual ]
interface ITAgentHandler : IDispatch { [propget, id(1), helpstring("property Name")] HRESULT Name( [out, retval] BSTR * ppName ); [id(2), helpstring("property CreateAgent")] HRESULT CreateAgent( [out, retval] ITAgent ** ppAgent );
[id(3), helpstring("property CreateAgentWithID")] HRESULT CreateAgentWithID( [in] BSTR pID, [in] BSTR pPIN, [out, retval] ITAgent ** ppAgent );
[id(4), hidden, helpstring("method EnumerateACDGroups")] HRESULT EnumerateACDGroups( [out, retval] IEnumACDGroup** ppEnumACDGroup );
[id(5), hidden, helpstring("method EnumerateUsableAddresses")] HRESULT EnumerateUsableAddresses( [out, retval] IEnumAddress ** ppEnumAddress );
[propget, id(6), helpstring("property ACDGroups")] HRESULT ACDGroups( [out, retval] VARIANT * pVariant );
[propget, id(7), helpstring("property UsableAddresses")] HRESULT UsableAddresses( [out, retval] VARIANT * pVariant );
}
/* // ITAgentSupervisor [ uuid( 587E8C26-9802-11d1-A0A4-00805FC147D3 ), helpstring("TAPI 3.0 ITAgentSupervisor interface"), dual ]
interface ITAgentSupervisor : IDispatch { [id(1), hidden, helpstring("method EnumerateQueues")] HRESULT EnumerateQueues( [out, retval] IEnumQueue ** ppEnumQueue );
[id(2), hidden, helpstring("method EnumerateAgents")] HRESULT EnumerateAgents( [out, retval] IEnumAgent ** ppEnumAgent );
} */
// IEnumAgent [ uuid( 5AFC314D-4BCC-11d1-BF80-00805FC147D3 ), helpstring("TAPI 3.0 IEnumAgent interface"), hidden, pointer_default(unique) ] interface IEnumAgent : IUnknown {
HRESULT Next( [in] ULONG celt, [out] ITAgent ** ppElements, [out] ULONG * pceltFetched );
HRESULT Reset( void );
HRESULT Skip ( [in] ULONG celt );
HRESULT Clone ( [out, retval] IEnumAgent ** ppEnum ); }
// IEnumAgentSession [ uuid( 5AFC314E-4BCC-11d1-BF80-00805FC147D3 ), helpstring("TAPI 3.0 IEnumAgentSession interface"), hidden, pointer_default(unique) ] interface IEnumAgentSession : IUnknown {
HRESULT Next( [in] ULONG celt, [out] ITAgentSession ** ppElements, [out] ULONG * pceltFetched );
HRESULT Reset( void );
HRESULT Skip ( [in] ULONG celt );
HRESULT Clone ( [out, retval] IEnumAgentSession ** ppEnum ); }
// IEnumQueue; [ uuid( 5AFC3158-4BCC-11d1-BF80-00805FC147D3 ), helpstring("TAPI 3.0 IEnumQueue interface"), hidden, pointer_default(unique) ] interface IEnumQueue : IUnknown {
HRESULT Next( [in] ULONG celt, [out] ITQueue ** ppElements, [out] ULONG * pceltFetched );
HRESULT Reset( void );
HRESULT Skip ( [in] ULONG celt );
HRESULT Clone ( [out, retval] IEnumQueue ** ppEnum ); }
// IEnumACDGroup [ uuid( 5AFC3157-4BCC-11d1-BF80-00805FC147D3 ), helpstring("TAPI 3.0 IEnumACDGroup interface"), hidden, pointer_default(unique) ] interface IEnumACDGroup : IUnknown {
HRESULT Next( [in] ULONG celt, [out] ITACDGroup ** ppElements, [out] ULONG * pceltFetched );
HRESULT Reset( void );
HRESULT Skip ( [in] ULONG celt ); HRESULT Clone ( [out, retval] IEnumACDGroup ** ppEnum ); }
// IEnumAgentHandler [ uuid( 587E8C28-9802-11d1-A0A4-00805FC147D3 ), helpstring("TAPI 3.0 IEnumAgentHandler interface"), hidden, pointer_default(unique) ] interface IEnumAgentHandler : IUnknown {
HRESULT Next( [in] ULONG celt, [out] ITAgentHandler ** ppElements, [out] ULONG * pceltFetched );
HRESULT Reset( void );
HRESULT Skip ( [in] ULONG celt );
HRESULT Clone ( [out, retval] IEnumAgentHandler ** ppEnum ); }
|