mirror of
https://github.com/deneraraujo/OpenVPNAdapter.git
synced 2026-02-11 00:00:08 +08:00
72 lines
2.7 KiB
Plaintext
72 lines
2.7 KiB
Plaintext
//
|
|
// OpenVPNInterfaceStats.m
|
|
// OpenVPN Adapter
|
|
//
|
|
// Created by Sergey Abramchuk on 26.04.17.
|
|
//
|
|
//
|
|
|
|
#import "OpenVPNInterfaceStats.h"
|
|
#import "OpenVPNInterfaceStats+Internal.h"
|
|
|
|
@interface OpenVPNInterfaceStats ()
|
|
@property (readwrite, nonatomic) NSInteger bytesIn;
|
|
@property (readwrite, nonatomic) NSInteger bytesOut;
|
|
@property (readwrite, nonatomic) NSInteger packetsIn;
|
|
@property (readwrite, nonatomic) NSInteger packetsOut;
|
|
@property (readwrite, nonatomic) NSInteger errorsIn;
|
|
@property (readwrite, nonatomic) NSInteger errorsOut;
|
|
@end
|
|
|
|
@implementation OpenVPNInterfaceStats
|
|
|
|
- (instancetype)initWithInterfaceStats:(ClientAPI::InterfaceStats)stats {
|
|
if (self = [super init]) {
|
|
self.bytesIn = stats.bytesIn;
|
|
self.bytesOut = stats.bytesOut;
|
|
self.packetsIn = stats.packetsIn;
|
|
self.packetsOut = stats.packetsOut;
|
|
self.errorsIn = stats.errorsIn;
|
|
self.errorsOut = stats.errorsOut;
|
|
}
|
|
return self;
|
|
}
|
|
|
|
- (nonnull id)copyWithZone:(nullable NSZone *)zone {
|
|
OpenVPNInterfaceStats *stats = [[OpenVPNInterfaceStats allocWithZone:zone] init];
|
|
stats.bytesIn = self.bytesIn;
|
|
stats.bytesOut = self.bytesOut;
|
|
stats.packetsIn = self.packetsIn;
|
|
stats.packetsOut = self.packetsOut;
|
|
stats.errorsIn = self.errorsIn;
|
|
stats.errorsOut = self.errorsOut;
|
|
return stats;
|
|
}
|
|
|
|
- (void)encodeWithCoder:(nonnull NSCoder *)aCoder {
|
|
[aCoder encodeInteger:self.bytesIn forKey:NSStringFromSelector(@selector(bytesIn))];
|
|
[aCoder encodeInteger:self.bytesOut forKey:NSStringFromSelector(@selector(bytesOut))];
|
|
[aCoder encodeInteger:self.packetsIn forKey:NSStringFromSelector(@selector(packetsIn))];
|
|
[aCoder encodeInteger:self.packetsOut forKey:NSStringFromSelector(@selector(packetsOut))];
|
|
[aCoder encodeInteger:self.errorsIn forKey:NSStringFromSelector(@selector(errorsIn))];
|
|
[aCoder encodeInteger:self.errorsOut forKey:NSStringFromSelector(@selector(errorsOut))];
|
|
}
|
|
|
|
- (nullable instancetype)initWithCoder:(nonnull NSCoder *)aDecoder {
|
|
if (self = [self init]) {
|
|
self.bytesIn = [aDecoder decodeIntegerForKey:NSStringFromSelector(@selector(bytesIn))];
|
|
self.bytesOut = [aDecoder decodeIntegerForKey:NSStringFromSelector(@selector(bytesOut))];
|
|
self.packetsIn = [aDecoder decodeIntegerForKey:NSStringFromSelector(@selector(packetsIn))];
|
|
self.packetsOut = [aDecoder decodeIntegerForKey:NSStringFromSelector(@selector(packetsOut))];
|
|
self.errorsIn = [aDecoder decodeIntegerForKey:NSStringFromSelector(@selector(errorsIn))];
|
|
self.errorsOut = [aDecoder decodeIntegerForKey:NSStringFromSelector(@selector(errorsOut))];
|
|
}
|
|
return self;
|
|
}
|
|
|
|
+ (BOOL)supportsSecureCoding {
|
|
return YES;
|
|
}
|
|
|
|
@end
|