mirror of
https://github.com/zhigang1992/RestKit.git
synced 2026-04-02 22:42:45 +08:00
73 lines
1.9 KiB
Objective-C
Executable File
73 lines
1.9 KiB
Objective-C
Executable File
//
|
|
// RKReachabilityObserver.h
|
|
// RestKit
|
|
//
|
|
// Created by Blake Watters on 9/14/10.
|
|
// Copyright 2010 RestKit. All rights reserved.
|
|
//
|
|
|
|
#import <Foundation/Foundation.h>
|
|
#import <SystemConfiguration/SystemConfiguration.h>
|
|
|
|
/**
|
|
* Posted when the network state has changed
|
|
*/
|
|
extern NSString* const RKReachabilityStateChangedNotification;
|
|
extern NSString* const RKReachabilityStateWasDeterminedNotification;
|
|
|
|
typedef enum {
|
|
RKReachabilityIndeterminate,
|
|
RKReachabilityNotReachable,
|
|
RKReachabilityReachableViaWiFi,
|
|
RKReachabilityReachableViaWWAN
|
|
} RKReachabilityNetworkStatus;
|
|
|
|
/**
|
|
* Provides a notification based interface for monitoring changes
|
|
* to network status8
|
|
*
|
|
* Portions of this software are derived from the Apple Reachability
|
|
* code sample: http://developer.apple.com/library/ios/#samplecode/Reachability/Listings/Classes_Reachability_m.html
|
|
*/
|
|
@interface RKReachabilityObserver : NSObject {
|
|
NSString* _hostName;
|
|
SCNetworkReachabilityRef _reachabilityRef;
|
|
BOOL _reachabilityEstablished;
|
|
}
|
|
|
|
/**
|
|
The hostname we are observing reachability to
|
|
*/
|
|
@property (nonatomic, readonly) NSString* hostName;
|
|
|
|
/**
|
|
Returns YES if reachability has been determined
|
|
*/
|
|
@property (nonatomic, readonly) BOOL reachabilityEstablished;
|
|
|
|
/**
|
|
* Create a new reachability observer against a given hostname. The observer
|
|
* will monitor the ability to reach the specified hostname and emit notifications
|
|
* when its reachability status changes.
|
|
*
|
|
* Note that the observer will be scheduled in the current run loop.
|
|
*/
|
|
- (id)initWithHostname:(NSString*)hostName;
|
|
|
|
/**
|
|
* Returns the current network status
|
|
*/
|
|
- (RKReachabilityNetworkStatus)networkStatus;
|
|
|
|
/**
|
|
* Returns YES when the Internet is reachable (via WiFi or WWAN)
|
|
*/
|
|
- (BOOL)isNetworkReachable;
|
|
|
|
/**
|
|
* Returns YES when WWAN may be available, but not active until a connection has been established.
|
|
*/
|
|
- (BOOL)isConnectionRequired;
|
|
|
|
@end
|