BBANetworkManager.h 1.46 KB
//
//  BBANetworkManager.h
//  BaiduBoxApp
//
//  Created by naonao on 12-9-20.
//  Copyright (c) 2012年 Baidu. All rights reserved.
//

// 头文件
#import <Foundation/Foundation.h>
#import "BBANetWorkCheckSocket.h"
#import <Reachability/Reachability.h>

// @class - BBANetworkManager
// @brief - 网络管理类,判断网络状态等,分浏览页与非浏览页两套处理逻辑
//          该工具类建议和Reachablity放在一起,减少与其他SDK耦合,另有其他项目如Widget会依赖该类

@interface BBANetworkManager : NSObject<BBANetWorkCheckDelegate>

// 属性
@property (nonatomic, strong) BBANetWorkCheckSocket *netWorkCheckSocket;

+ (BBANetworkManager *)sharedInstance;

- (void)startDetectNetwork;							// 开始监听网络
- (void)stopDetectNetwork;							// 停止网络监听
- (void)checkCurrentNetwork:(void (^)(BOOL result))completion;
- (BOOL)checkCurrentNetwork;						// 获取当前网络状态
- (BOOL)isNeedAlertHint;							// 判断是否需要提示错误信息, 需要返回YES

- (BOOL)detectSynchronization:(BOOL)aConnRequired;	// 同步方法获取网络状态

// --获得当前网络类型
- (BOOL)isWifiNetwork;
- (BOOL)isWWANNetwork;

// --网络请求,指定请求类型
- (void)startNetRequest:(NSUInteger)aNetRequestType
				 object:(id)aObject
	needNetworkActivity:(BOOL)need;

- (void)endNetRequest:(NSUInteger)aNetRequestType
			   object:(id)aObject;

- (NetworkStatus)currentReachabilityStatus;

@end // BBANetworkManager