mars::stn::SetCallback(Callback* const callback);
class Callback<br> {<br> public:<br> virtual ~Callback() {}<br> virtual bool MakesureAuthed() = 0;<br> <br> //流量统计<br> virtual void TrafficData(ssize_t _send, ssize_t _recv);<br> <br> //底层询问上层该host对应的ip列表<br> virtual std::vector<std::string> OnNewDns(const std::string& host);<br> //网络层收到push消息回调<br> virtual void OnPush(int32_t cmdid, const AutoBuffer& msgpayload) = 0;<br> //底层获取task要发送的数据<br> virtual bool Req2Buf(int32_t taskid, void* const user_context, AutoBuffer& outbuffer, int& error_code, const int channel_select) = 0;<br> //底层回包返回给上层解析<br> virtual int Buf2Resp(int32_t taskid, void* const user_context, const AutoBuffer& inbuffer, int& error_code, const int channel_select) = 0;<br> //任务执行结束<br> virtual int OnTaskEnd(int32_t taskid, void* const user_context, int error_type, int error_code) = 0;<br><br> //上报网络连接状态<br> virtual void ReportConnectStatus(int status, int longlink_status) = 0;<br> //长连信令校验 ECHECK_NOW = 0, ECHECK_NEXT = 1, ECHECK_NEVER = 2<br> virtual int GetLonglinkIdentifyCheckBuffer(AutoBuffer& identify_buffer, AutoBuffer& buffer_hash, int32_t& cmdid) = 0;<br> //长连信令校验回包<br> virtual bool OnLonglinkIdentifyResponse(const AutoBuffer& response_buffer, const AutoBuffer& identify_buffer_hash) = 0;<br> <br> <br> virtual void RequestSync() = 0;<br> <br> //验证是否已登录<br> virtual bool IsLogoned() = 0;<br> };
mars::app::SetCallback(Callback* const callback)
class Callback {<br> public:<br> virtual ~Callback() {};<br><br> virtual std::string GetAppFilePath() = 0;<br> <br> virtual AccountInfo GetAccountInfo() = 0;<br><br> virtual unsigned int GetClientVersion() = 0;<br><br> virtual DeviceInfo GetDeviceInfo() = 0;<br><br> };