platform/iphone/Classes/rho/net/NetRequestImpl.m in rhodes-1.4.2 vs platform/iphone/Classes/rho/net/NetRequestImpl.m in rhodes-1.5.0
- old
+ new
@@ -22,16 +22,15 @@
#import <netinet/in.h>
#import <SystemConfiguration/SystemConfiguration.h>
#import <SystemConfiguration/SCNetworkReachability.h>
#import <Foundation/Foundation.h>
#include "common/RhoPort.h"
+#include "ruby/ext/rho/rhoruby.h"
#import "logging/RhoLog.h"
#undef DEFAULT_LOGCATEGORY
#define DEFAULT_LOGCATEGORY "Net"
-//extern int logged_in();
-//extern int has_network_impl();
extern int isNetworkAvailableFlags(SCNetworkReachabilityFlags *outFlags);
typedef void (*FSAVECONNDATA)(void* pThis, void* pData);
/*
An enumeration that defines the return values of the network state
@@ -47,25 +46,25 @@
{
[UIApplication sharedApplication].networkActivityIndicatorVisible = active ? YES : NO;
}
// Determines network connectivity
-int rho_net_has_network() {
+VALUE rho_sys_has_network() {
SCNetworkReachabilityFlags defaultRouteFlags;
int defaultRouteIsAvailable = isNetworkAvailableFlags(&defaultRouteFlags);
if (defaultRouteIsAvailable == 1) {
if (defaultRouteFlags & kSCNetworkReachabilityFlagsIsDirect) {
// Ad-Hoc network, not available
- return 0;
+ return rho_ruby_create_boolean(0);
}
else if (defaultRouteFlags & ReachableViaCarrierDataNetwork) {
// Cell network available
- return 1;
+ return rho_ruby_create_boolean(1);
}
// WIFI available
- return 1;
+ return rho_ruby_create_boolean(1);
}
- return 0;
+ return rho_ruby_create_boolean(0);
}
int isNetworkAvailableFlags(SCNetworkReachabilityFlags *outFlags)
{
struct sockaddr_in zeroAddress;