Wrap IPv6 preference

This commit is contained in:
Sergey Abramchuk
2017-04-23 13:35:34 +03:00
parent 874773b14c
commit 092c6a525c
2 changed files with 50 additions and 0 deletions
+32
View File
@@ -89,4 +89,36 @@ using namespace openvpn;
_config.protoOverride = protoOverride ? std::string([protoOverride UTF8String]) : "";
}
- (IPv6Preference)ipv6 {
NSDictionary *options = @{
@"yes": @(IPv6PreferenceEnabled),
@"no": @(IPv6PreferenceDisabled),
@"default": @(IPv6PreferenceDefault),
@"": @(IPv6PreferenceDefault)
};
NSString *currentValue = [NSString stringWithUTF8String:_config.ipv6.c_str()];
NSNumber *preference = options[currentValue];
NSAssert(preference != nil, @"Incorrect ipv6 value");
return (IPv6Preference)[preference integerValue];
}
- (void)setIpv6:(IPv6Preference)ipv6 {
switch (ipv6) {
case IPv6PreferenceEnabled:
_config.ipv6 = "yes";
break;
case IPv6PreferenceDisabled:
_config.ipv6 = "no";
break;
case IPv6PreferenceDefault:
_config.ipv6 = "default";
break;
}
}
@end