mirror of
https://github.com/deneraraujo/OpenVPNAdapter.git
synced 2024-10-06 17:22:07 +08:00
38 lines
1.2 KiB
Plaintext
38 lines
1.2 KiB
Plaintext
//
|
|
// OpenVPNReachabilityTracker.m
|
|
// OpenVPN Adapter
|
|
//
|
|
// Created by Sergey Abramchuk on 17.07.17.
|
|
//
|
|
//
|
|
|
|
#import "OpenVPNReachabilityTracker.h"
|
|
|
|
#import "OpenVPNReachability+Internal.h"
|
|
#import "OpenVPNReachabilityStatus.h"
|
|
|
|
OpenVPNReachabilityTracker::OpenVPNReachabilityTracker(const bool enable_internet, const bool enable_wifi, void* handler) :
|
|
ReachabilityTracker(enable_internet, enable_wifi)
|
|
{
|
|
this->handler = handler;
|
|
}
|
|
|
|
void OpenVPNReachabilityTracker::reachability_tracker_event(const ReachabilityBase& rb, SCNetworkReachabilityFlags flags) {
|
|
OpenVPNReachability* handler = (__bridge OpenVPNReachability* )this->handler;
|
|
|
|
ReachabilityInterface::Status status = rb.status();
|
|
switch (status) {
|
|
case ReachabilityInterface::NotReachable:
|
|
[handler updateReachabilityStatus:OpenVPNReachabilityStatusNotReachable];
|
|
break;
|
|
|
|
case ReachabilityInterface::ReachableViaWiFi:
|
|
[handler updateReachabilityStatus:OpenVPNReachabilityStatusReachableViaWiFi];
|
|
break;
|
|
|
|
case ReachabilityInterface::ReachableViaWWAN:
|
|
[handler updateReachabilityStatus:OpenVPNReachabilityStatusReachableViaWWAN];
|
|
break;
|
|
}
|
|
}
|