Swiftgram/submodules/HockeySDK-iOS/Classes/BITSessionStateData.m
Peter 76e5a7fab6 Add 'submodules/HockeySDK-iOS/' from commit 'c7d0c7026303253e2ac576c02655691e5d314fe2'
git-subtree-dir: submodules/HockeySDK-iOS
git-subtree-mainline: 085acd26c4432939403765234266e3c1be0f3dd9
git-subtree-split: c7d0c7026303253e2ac576c02655691e5d314fe2
2019-06-11 18:53:14 +01:00

50 lines
1.5 KiB
Objective-C
Executable File

#import "BITSessionStateData.h"
/// Data contract class for type SessionStateData.
@implementation BITSessionStateData
@synthesize envelopeTypeName = _envelopeTypeName;
@synthesize dataTypeName = _dataTypeName;
@synthesize version = _version;
/// Initializes a new instance of the class.
- (instancetype)init {
if((self = [super init])) {
_envelopeTypeName = @"Microsoft.ApplicationInsights.SessionState";
_dataTypeName = @"SessionStateData";
_version = @2;
_state = BITSessionState_start;
}
return self;
}
///
/// Adds all members of this class to a dictionary
/// @returns dictionary to which the members of this class will be added.
///
- (NSDictionary *)serializeToDictionary {
NSMutableDictionary *dict = [super serializeToDictionary].mutableCopy;
[dict setObject:[NSNumber numberWithInt:(int)self.state] forKey:@"state"];
return dict;
}
#pragma mark - NSCoding
- (instancetype)initWithCoder:(NSCoder *)coder {
self = [super initWithCoder:coder];
if(self) {
_envelopeTypeName =[coder decodeObjectForKey:@"envelopeTypeName"];
_dataTypeName = [coder decodeObjectForKey:@"dataTypeName"];
_state = (BITSessionState)[coder decodeIntForKey:@"self.state"];
}
return self;
}
- (void)encodeWithCoder:(NSCoder *)coder {
[super encodeWithCoder:coder];
[coder encodeObject:self.envelopeTypeName forKey:@"envelopeTypeName"];
[coder encodeObject:self.dataTypeName forKey:@"dataTypeName"];
[coder encodeInt:self.state forKey:@"self.state"];
}
@end