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;