Wrap session token

This commit is contained in:
Sergey Abramchuk
2017-04-28 21:47:48 +03:00
parent 0b1e8117f0
commit 3ef90dcabd
5 changed files with 90 additions and 3 deletions

View File

@@ -0,0 +1,19 @@
//
// OpenVPNSessionToken+Internal.h
// OpenVPN Adapter
//
// Created by Sergey Abramchuk on 28.04.17.
//
//
#import <client/ovpncli.hpp>
#import "OpenVPNSessionToken.h"
using namespace openvpn;
@interface OpenVPNSessionToken (Internal)
- (instancetype)initWithSessionToken:(ClientAPI::SessionToken)token;
@end

View File

@@ -0,0 +1,25 @@
//
// OpenVPNSessionToken.h
// OpenVPN Adapter
//
// Created by Sergey Abramchuk on 28.04.17.
//
//
#import <Foundation/Foundation.h>
/**
Class used to get session token from VPN core
*/
@interface OpenVPNSessionToken : NSObject
@property (nullable, readonly, nonatomic) NSString *username;
/**
An OpenVPN Session ID, used as a proxy for password
*/
@property (nullable, readonly, nonatomic) NSString *session;
- (nonnull instancetype) __unavailable init;
@end

View File

@@ -0,0 +1,24 @@
//
// OpenVPNSessionToken.m
// OpenVPN Adapter
//
// Created by Sergey Abramchuk on 28.04.17.
//
//
#import "OpenVPNSessionToken+Internal.h"
using namespace openvpn;
@implementation OpenVPNSessionToken
- (instancetype)initWithSessionToken:(ClientAPI::SessionToken)token {
self = [super init];
if (self) {
_username = !token.username.empty() ? [NSString stringWithUTF8String:token.username.c_str()] : nil;
_session = !token.session_id.empty() ? [NSString stringWithUTF8String:token.session_id.c_str()] : nil;
}
return self;
}
@end

View File

@@ -28,6 +28,7 @@ FOUNDATION_EXPORT const unsigned char OpenVPNAdapterVersionString[];
#import <OpenVPNAdapter/OpenVPNServerEntry.h>
#import <OpenVPNAdapter/OpenVPNProperties.h>
#import <OpenVPNAdapter/OpenVPNConnectionInfo.h>
#import <OpenVPNAdapter/OpenVPNSessionToken.h>
#import <OpenVPNAdapter/OpenVPNTransportStats.h>
#import <OpenVPNAdapter/OpenVPNInterfaceStats.h>
#import <OpenVPNAdapter/OpenVPNAdapter.h>