TCCC Agent API
ITCCCWorkstation.h
1
6#ifndef ITCCCWorkstation_h
7#define ITCCCWorkstation_h
8
9#include "IAgentInfoManager.h"
10#include "ITCCCCallback.h"
11#include "ITCCCDeviceManager.h"
12#include "TCCCCode.h"
13#include "TCCCTypeDef.h"
14
18namespace tccc {
19class ITCCCWorkstation;
20}
21
35extern "C" {
38#ifdef __ANDROID__
39TCCC_API tccc::ITCCCWorkstation* getTCCCShareInstance(void* context);
40#else
41TCCC_API tccc::ITCCCWorkstation* getTCCCShareInstance();
42#endif
43TCCC_API void destroyTCCCShareInstance();
45}
46
47namespace tccc {
48
50 protected:
51 virtual ~ITCCCWorkstation(){};
52
53 public:
55 //
56 // 创建实例和事件回调
57 //
61
72#ifdef __ANDROID__
73 static tccc::ITCCCWorkstation* getShareInstance(void* context);
74#else
76#endif
77
81 static void destroyShareInstance();
82
90 virtual void addCallback(ITCCCCallback* callback) = 0;
91
97 virtual void removeCallback(ITCCCCallback* callback) = 0;
98
101 //
102 // 登录相关接口函数
103 //
107
115 virtual void login(const TCCCLoginParams& loginParam, ITXValueCallback<TCCCLoginInfo>* callback) = 0;
116
122 virtual void logout(ITXCallback* callback) = 0;
123
126 //
127 // 呼叫相关接口函数
128 //
132
141 virtual void call(const TCCCStartCallParams& param, ITXCallback* startCallback) = 0;
142
147 virtual void terminate() = 0;
148
154 virtual void answer( ITXCallback* answerCallback) = 0;
155
156 // /**
157 // * 3.5 删除会话
158 // *
159 // * @param sessionId 会话ID
160 // *
161 // * @param callback 删除会话成功与否回调
162 // */
163 // // virtual void deleteCall(const char *sessionId, ITXCallback* callback) = 0;
164
165 // /**
166 // * 3.6 呼叫保持
167 // *
168 // * @param sessionId 会话ID
169 // *
170 // * @param callback 呼叫保持成功与否回调
171 // */
172 // // virtual void hold(const char *sessionId, ITXCallback* callback) = 0;
173
174 // /**
175 // * 3.7 取消通话保持
176 // *
177 // * @param sessionId 会话ID
178 // *
179 // * @param callback 取消通话保持成功与否回调
180 // */
181 // // virtual void unHold(const char *sessionId, ITXCallback* callback) = 0;
182
192 virtual void sendDTMF(const char digit, ITXCallback* callback) = 0;
193
194 // /**
195 // * 3.9 转接会话
196 // *
197 // * @param params 转接参数
198 // *
199 // * @param callback 转接会话成功与否回调
200 // */
201 // virtual void transfer(TCCCtransferParams params, ITXCallback* callback) = 0;
202
205 //
206 // 音频相关接口函数
207 //
211
215 virtual void mute() = 0;
216
220 virtual void unmute() = 0;
221
231 virtual void enableAudioVolumeEvaluation(uint32_t interval, bool enable_vad) = 0;
232
240 virtual void startPlayMusic(const char* path, int loopCount) = 0;
241
245 virtual void stopPlayMusic() = 0;
246
249 //
250 // 设备&坐席管理相关接口
251 //
255
260
261 // /**
262 // * 10.2 获取坐席信息管理类(IAgentInfoManager)
263 // */
264 // // virtual IAgentInfoManager* getAgentInfoManager() = 0;
265
267
269 //
270 // 调试相关接口
271 //
275
278 virtual const char* getSDKVersion() = 0;
279
286 virtual void callExperimentalAPI(const char* commandType, const char* jsonStr) = 0;
287
293 virtual void setLogLevel(TCCCLogLevel level) = 0;
294
300 virtual void setConsoleEnabled(bool enabled) = 0;
301
307 virtual void setLogDirectory(const char* logPath) = 0;
308
309 /*
310 * 当网络异常不能恢复的时候调用,通常用于手机切后台后不能恢复。
311 * 不要轻易调用,建议在手机后台切回前台的时候,checkLogin-->onError-->resetSip-->checkLogin
312 */
313 virtual void resetSip(bool isNeedCallReLogin) = 0;
314
315 /*
316 * 检查登录状态。
317 *
318 * @param callback 是否已登录回调
319 */
320 virtual void checkLogin(ITXCallback* callback) = 0;
321
322 // 只能在内部使用。
323 virtual void genTestTokenByUser(const char* secretId, const char* secretKey, const char* userId, uint32_t sdkAppId,
324 ITXCallback* callback) = 0;
326};
327} // namespace tccc
329
330#endif /* ITCCCWorkstation_h */
Definition: ITCCCCallback.h:18
Definition: ITCCCDeviceManager.h:155
Definition: ITCCCWorkstation.h:49
virtual void removeCallback(ITCCCCallback *callback)=0
virtual void unmute()=0
static void destroyShareInstance()
virtual void mute()=0
virtual void stopPlayMusic()=0
virtual void call(const TCCCStartCallParams &param, ITXCallback *startCallback)=0
virtual void setLogDirectory(const char *logPath)=0
virtual void enableAudioVolumeEvaluation(uint32_t interval, bool enable_vad)=0
virtual void callExperimentalAPI(const char *commandType, const char *jsonStr)=0
static tccc::ITCCCWorkstation * getShareInstance()
virtual void sendDTMF(const char digit, ITXCallback *callback)=0
virtual void login(const TCCCLoginParams &loginParam, ITXValueCallback< TCCCLoginInfo > *callback)=0
virtual void setConsoleEnabled(bool enabled)=0
virtual void terminate()=0
virtual void setLogLevel(TCCCLogLevel level)=0
virtual const char * getSDKVersion()=0
virtual void addCallback(ITCCCCallback *callback)=0
virtual void logout(ITXCallback *callback)=0
virtual void startPlayMusic(const char *path, int loopCount)=0
virtual ITCCCDeviceManager * getDeviceManager()=0
virtual void answer(ITXCallback *answerCallback)=0
Definition: ITCCCCallback.h:225
Definition: ITCCCCallback.h:245
Definition: TCCCTypeDef.h:59
Definition: TCCCTypeDef.h:107