//
|
// LinPhoneWraper.m
|
// HDLLinPhoneSDK
|
//
|
// Created by 陈启扬 on 2021/8/12.
|
// Copyright © 2021 陈启扬. All rights reserved.
|
//
|
|
#import "LinPhoneWraper.h"
|
|
@implementation LinphoneObject
|
-(instancetype)initWith:(belle_sip_object_t*)cPointer{
|
self = [super init]; //用于初始化父类
|
if (self) {
|
self.cPtr1 = cPointer;
|
belle_sip_object_ref(self.cPtr1);
|
}
|
return self;
|
}
|
-(void)dealloc{
|
belle_sip_object_data_set(self.cPtr1, "swiftRef", nil, nil);
|
belle_sip_object_unref(self.cPtr1);
|
}
|
@end
|
|
@implementation Config
|
+(instancetype)getSwiftObject:(LinphoneConfig*)cPointer{
|
id result = (__bridge id)(belle_sip_object_data_get(cPointer, "swiftRef"));
|
|
if (result != nil) {
|
return (Config *)result;
|
}
|
void *sObject=(__bridge void *)([[self alloc] initWith:cPointer]) ;
|
// belle_sip_object_t *sObject=(__bridge belle_sip_object_t *)([[self alloc] initWith:cPointer]);
|
|
belle_sip_object_data_set(cPointer, "swiftRef", sObject, nil);
|
|
// let sObject = Config(cPointer: cObject)
|
// belle_sip_object_data_set(UnsafeMutablePointer(cObject), "swiftRef", UnsafeMutableRawPointer(Unmanaged.passUnretained(sObject).toOpaque()), nil)
|
|
return (__bridge Config *)(sObject);
|
}
|
-(void)setString:(NSString *)section key:(NSString *)key value:(NSString *)value{
|
linphone_config_set_string(self.cPtr, section.UTF8String, key.UTF8String, value.UTF8String);
|
}
|
-(NSString *)getString:(NSString *)section key:(NSString *)key defaultString:(NSString *)defaultString{
|
return [LinPhoneWraper charArrayToString: linphone_config_get_string(self.cPtr, section.UTF8String, key.UTF8String, defaultString.UTF8String)];
|
}
|
|
-(void)setInt:(NSString *)section key:(NSString *)key value:(int)value{
|
linphone_config_set_int(self.cPtr, section.UTF8String, key.UTF8String, value);
|
}
|
|
-(int)getInt:(NSString *)section key:(NSString *)key defaultValue:(int)defaultValue{
|
return linphone_config_get_int(self.cPtr, section.UTF8String, key.UTF8String,defaultValue );
|
}
|
@end
|
|
@implementation LinPhoneWraper
|
+(NSString *) charArrayToString:(nullable const char *)charPointer{
|
if (charPointer) {
|
return [NSString stringWithCString:charPointer encoding:NSUTF8StringEncoding];
|
}else{
|
return @"";
|
}
|
}
|
@end
|