| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- #ifndef _MOD_SALESAUDIOTRANS_H_
- #define _MOD_SALESAUDIOTRANS_H_
- #include "stdafx.h"
- #include "SpIni.h"
- #include "caudiotransmission.h"
- #include "SalesAudioTrans_msg_g.h"
- #include "SalesAudioTrans_server_g.h"
- #define SAFE_FREE_LIBRARY(hModule) \
- do { \
- if(hModule){ \
- FreeLibrary(hModule); \
- hModule = NULL; \
- } \
- }while(0)
- namespace SalesAudioTrans {
- class CSalesAudioTransEntity;
- class SalesAudioTransServiceSession : public SalesAudioTransService_ServerSessionBase
- {
- public:
- explicit SalesAudioTransServiceSession(CSalesAudioTransEntity* pEntity) : m_pEntity(pEntity) {}
- virtual void Handle_StartAudioTrans(SpReqAnsContext<SalesAudioTransService_StartAudioTrans_Req, SalesAudioTransService_StartAudioTrans_Ans>::Pointer ctx);
- private:
- CSalesAudioTransEntity* m_pEntity;
- };
- class CSalesAudioTransEntity : public CEntityBase, public ILogListener, public ISysVarListener, public ITimerListener
- {
- public:
- CSalesAudioTransEntity() :m_main_server(DEFAULT_VTMASR_SERVER_URL), m_backup_server(DEFAULT_VTMASR_SERVER_URL), m_iconntimeout(DEFAULT_CONNECT_TIMEOUT),
- m_imaxaudiosendsize(DEFAULT_MAX_AUDIO_SEND_SIZE), m_pAudioTrans(NULL), m_bStartTrans(false), m_hInst(NULL), m_fcreateobj(NULL), m_fdestoryobj(NULL) {
- }
- virtual ~CSalesAudioTransEntity() {}
- virtual const char* GetEntityName() const { return "SalesAudioTrans"; }
- virtual bool IsService()const { return true; }
- virtual void OnPreStart(CAutoArray<CSimpleStringA> strArgs, CSmartPointer<ITransactionContext> pTransactionContext);
- ErrorCodeEnum __OnStart(ErrorCodeEnum preOperationError);
- virtual void OnStarted();
- virtual void OnPreClose(EntityCloseCauseEnum eCloseCause, CSmartPointer<ITransactionContext> pTransactionContext);
- ErrorCodeEnum __OnClose(ErrorCodeEnum preOperationError);
- virtual void OnSelfTest(EntityTestEnum eTestType, CSmartPointer<ITransactionContext> pTransactionContext);
- virtual CServerSessionBase* OnNewSession(const char* pszRemoteEntityName, const char* pszParam);
- virtual void OnLog(const CAutoArray<CUUID> &SubIDs, const CUUID nLogID,const LogTypeEnum eLogType, const SeverityLevelEnum eLevel,
- const DWORD dwSysError,const DWORD dwUserCode,const DWORD dwEntityInstanceID, const WORD wEntityDevelID,
- const CAutoArray<DWORD> &Param, const char *pszEntityName, const char *pszModuleName,const char *pszMessage, const linkContext& pLinkInfo);
- virtual void OnSysVarEvent(const char *pszKey,const char *pszValue,const char *pszOldValue,const char *pszEntityName);
- virtual void OnTimeout(DWORD dwTimerID);
- ErrorCodeEnum LoadConfig();
- ErrorCodeEnum Load_RestFul_Functions();
- ErrorCodeEnum StartAudioTrans(CSimpleStringW strVideoName, CBlob pBuffer, size_t uLen);
- ErrorCodeEnum StopAudioTrans();
- int SetMaxAudioSendSize(int iSize);
- private:
- CSimpleStringA m_main_server; // 语音识别服务器主地址
- CSimpleStringA m_backup_server; // 语音识别服务器备用地址
- int m_iconntimeout; // 连接超时时间,默认10s
- int m_imaxaudiosendsize; // 发送音频包大小,默认6400字节
- Caudiotransmission* m_pAudioTrans;
- bool m_bStartTrans;
- CAutoArray<CUUID> m_arrListener;
- HMODULE m_hInst;
- cpprestful_create m_fcreateobj;
- cpprestful_destory m_fdestoryobj;
- };
- }
- #endif
|