| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272 |
- //
- // QalSDKProxy.h
- // QalSDK
- //
- // Created by wtlogin on 15/8/7.
- // Copyright (c) 2015年 tencent. All rights reserved.
- //
- #ifndef QALSDK_PROXY_H
- #define QALSDK_PROXY_H
- #import <Foundation/Foundation.h>
- #import "QalSDKCallbackProtocol.h"
- //#import "MsfDelegate.h"
- //#import <MsfSDK/MsfSDK.h>
- #define SSOOPEN_REG @"sso_open_status.stat_reg"
- #define SSOOPEN_HB @"sso_open_status.stat_hello"
- #define DEFAULT_LOG_SDK_PATH @"/sdk.log"
- #define DEFAULT_LOG_APP_PATH @"/app.log"
- #define log_internal 3600
- @class QalStatusAdapter;
- #ifdef QALSDK_FOR_TLS
- @class TLSRefreshDelegate;
- #endif
- /**
- * 日志级别
- */
- typedef NS_ENUM(NSInteger, LogLevel) {
- LOG_ERROR = 1,
- LOG_WARN = 2,
- LOG_INFO = 3,
- LOG_DEBUG = 4,
- };
- typedef enum _EQALBindFailReason
- {
- EQALBindFail_Unknown = 0, //未知错误
- EQALBindFail_NoSSOTicket, //缺少sso票据
- EQALBindFail_NoNeedToUnbind,//已经unbind,不需要重复unbind
- EQALBindFail_TinyidNULL,//tiny为空
- EQALBindFail_GuidNULL,//guid为空
- EQALBindFail_UnpackRegPackFail,//解注册包失败
- EQALBindFail_RegTimeOut,//注册超时
- EQALBindFail_isBinding//正在注册中
-
- //>1000的错误码为状态svr返回
- }EQALBindFailReason;
- typedef enum _EQALPacketFailReason
- {
- EQALPacketFail_Unknown = 0,
- EQALPacketFail_NoNetOnReq,
- EQALPacketFail_NoNetOnResp,
- EQALPacketFail_NoAuthOnReq,
- EQALPacketFail_SSOError,
- EQALPacketFail_TimeoutOnReq, //请求超时
- EQALPacketFail_TimeoutOnResp,//回包超时
- EQALPacketFail_NoResendOnReq,
- EQALPacketFail_NoResendOnResp,
- EQALPacketFail_FlowSaveFiltered,
- EQALPacketFail_OverLoadOnReq,
- EQALPacketFail_LogicError
- }EQALPacketFailReason;
- typedef enum _EQALNetworkType
- {
- EQALNetworkType_Undefine = -1,
- EQALNetworkType_NotReachable = 0,
- EQALNetworkType_ReachableViaWiFi = 1,
- EQALNetworkType_ReachableViaWWAN = 2,
- EQALNetworkType_UNKNOWN = 100,
- EQALNetworkType_GPRS = 101,
- EQALNetworkType_EDGE = 102,
- EQALNetworkType_UMTS = 103,
- EQALNetworkType_CDMA = 104,
- EQALNetworkType_EVDO0 = 105,
- EQALNetworkType_EVDOA = 106,
- EQALNetworkType_1xRTT = 107,
- EQALNetworkType_HSDPA = 108,
- EQALNetworkType_HSUPA = 109,
- EQALNetworkType_HSPA = 110,
- EQALNetworkType_IDEN = 111,
- EQALNetworkType_EVDOB = 112,
- EQALNetworkType_LTE = 113,
- EQALNetworkType_EHRPD = 114,
- EQALNetworkType_HSPAP = 115,
-
- //Alert: 有ios自己的新类型时,从这里递减,并且改下EMSFNetWorkType_IOS_BEGIN的值
- EQALNetworkType_IOS_BEGIN = 98,
- //....
- EQALNetworkType_CDMA1x = 98,
- EQALNetworkType_WCDMA = 99,
- EQALNetworkType_IOS_END = 99,
- }EQALNetworkType;
- extern uint64_t g_tinyid;
- extern uint32_t g_isready;
- @interface QalSDKProxy : NSObject
- {
- int env;
- int _sdkAppid;
- int _accType;
- id<QalConnListenerProtocol> _conncb;
- id<QalLogListenerProtocol> _logcb;
- id<QalUserStatusListenerProtocol> _statuscb;
- int shortConn;
- }
- +(void)setMsfFilePath:(NSString*) filePath;
- /*
- 获取QalSDK的实例
- */
- + (QalSDKProxy *)sharedInstance;
- /*
- 设置正式/测试环境
- @param value 0:正式环境,1:测试环境
- */
- -(void)setEnv:(int) value;
- /*
- 初始化QalSDK
- @param sdkAppid sdkappid
- */
- -(id)initQal:(int) sdkAppid;
- /*
- 初始化QalSDK
- @param appid msf appid
- @param sdkAppid sdkappid
- @pram accTye account type
- */
- -(id)initWithAppid:(int) appid andSDKAppid:(int) sdkAppid andAccType:(int)accType;
- /*
- 增加push命令字回调
- @param cmd sso命令字
- @param cb push回调
- */
- //-(void)addInitListener:(id<QalInitCallbackProtocol>) cb;
- -(void)addPushListener:(NSString*) cmd andQalPushListener:(id<QalPushListenerProtocol>) cb;
- /*
- 设置连接通知回调
- @param cb 连接通知回调
- */
- -(void)setConnectionListener:(id<QalConnListenerProtocol>) cb;
- /*
- 设置日志回调
- @param cb 日志回调
- */
- -(void)setLogListener:(id<QalLogListenerProtocol>) cb;
- /*
- 设置用户状态通知回调
- @param cb 用户状态通知回调
- */
- -(void)setUserStatusListener:(id<QalUserStatusListenerProtocol>) cb;
- /*
- 发送消息
- @param cmd sso命令字
- @param reqbody 请求包(总包长+业务包体,总包长=业务包体长度+包头长度4字节)
- @param timout 回包超时时间(单位:秒)
- @param cb 收包回调
- -(int)sendMsg:(NSString*) cmd andReqbody:(NSData*) reqbody andTimeout:(int) timeout andQalReqCallback:(id<QalReqCallbackProtocol>) cb;
- */
- /*
- 发送消息
- @param identifier identifier
- @param cmd sso命令字
- @param reqbody 请求包(总包长+业务包体,总包长=业务包体长度+包头长度4字节)
- @param timout 回包超时时间(单位:秒)
- @param cb 收包回调
- */
- -(int)sendMsgWithID:(NSString*)identifier AndCmd:(NSString*) cmd andReqbody:(NSData*) reqbody andTimeout:(int) timeout andQalReqCallback:(id<QalReqCallbackProtocol>) cb;
- /*
- 绑定账户
- @param user 用户名
- @param cb 绑定回调
- */
- -(void)bindID:(NSString*) user andQalBindCallback:(id<QalBindCallbackProtocol>) cb;
- /*解绑账户
- @param user 用户名
- @param cb 解绑回调
- */
- -(void)unbindID:(NSString*) user andQalReqCallback:(id<QalBindCallbackProtocol>) cb;
- - (BOOL)isConnected;
- /*
- 打印log
- @param level 日志级别
- @param tag 日志tag
- @param msg 日志内容
- */
-
- -(void)log:(int)level andTag:(NSString*)tag andMsg:(NSString*)msg;
- /*
- 打印log
- @param level 日志级别
- @param tag 日志tag
- @param msg 日志内容
- */
- -(void)applog:(int)level andTag:(NSString*)tag andMsg:(NSString*)msg;
- /*
- 获取当前的qalid
- */
- -(NSString*)getIdentifier;
- -(void)closeLocalLog;
- -(NSString*)getSDKVer;
- -(void)clearCb:(int)seq;
- -(NSString*)getMsfAppid;
- - (void)setOpenAppid:(NSString *)aOpenAppid;
- -(int)getNetType;
- @end
- #endif
|