mirror of
https://github.com/deneraraujo/OpenVPNAdapter.git
synced 2026-04-24 00:00:05 +08:00
Add NSCopying, NSSecureCoding Support to Informational Classes (#17)
* Add NSCopying, NSSecureCoding Support to Informational Classes * Remove Redundant Copies * Revert out-of-context typo corrections * Revert out-of-context changes
This commit is contained in:
committed by
Sergey Abramchuk
parent
8e387bfb98
commit
270d5b8cac
@@ -9,19 +9,63 @@
|
||||
#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 {
|
||||
self = [super init];
|
||||
if (self) {
|
||||
_bytesIn = stats.bytesIn;
|
||||
_bytesOut = stats.bytesOut;
|
||||
_packetsIn = stats.packetsIn;
|
||||
_packetsOut = stats.packetsOut;
|
||||
_errorsIn = stats.errorsIn;
|
||||
_errorsOut = stats.errorsOut;
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user