mirror of https://github.com/oxen-io/session-ios
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
2.5 KiB
Matlab
78 lines
2.5 KiB
Matlab
5 years ago
|
#import "LKGroupUtilities.h"
|
||
|
#import <SessionProtocolKit/SessionProtocolKit.h>
|
||
|
|
||
|
@implementation LKGroupUtilities
|
||
|
|
||
|
#define ClosedGroupPrefix @"__textsecure_group__!" // a.k.a. private group chat
|
||
|
#define MMSGroupPrefix @"__signal_mms_group__!"
|
||
|
#define OpenGroupPrefix @"__loki_public_chat_group__!" // a.k.a. public group chat
|
||
|
#define RSSFeedPrefix @"__loki_rss_feed_group__!"
|
||
|
|
||
|
+(NSString *)getEncodedOpenGroupID:(NSString *)groupID
|
||
|
{
|
||
|
return [OpenGroupPrefix stringByAppendingString:groupID];
|
||
|
}
|
||
|
|
||
|
+(NSData *)getEncodedOpenGroupIDAsData:(NSString *)groupID
|
||
|
{
|
||
|
return [[OpenGroupPrefix stringByAppendingString:groupID] dataUsingEncoding:NSUTF8StringEncoding];
|
||
|
}
|
||
|
|
||
|
+(NSString *)getEncodedRSSFeedID:(NSString *)groupID
|
||
|
{
|
||
|
return [RSSFeedPrefix stringByAppendingString:groupID];
|
||
|
}
|
||
|
|
||
|
+(NSData *)getEncodedRSSFeedIDAsData:(NSString *)groupID
|
||
|
{
|
||
|
return [[RSSFeedPrefix stringByAppendingString:groupID] dataUsingEncoding:NSUTF8StringEncoding];
|
||
|
}
|
||
|
|
||
|
+(NSString *)getEncodedClosedGroupID:(NSString *)groupID
|
||
|
{
|
||
|
return [ClosedGroupPrefix stringByAppendingString:groupID];
|
||
|
}
|
||
|
|
||
|
+(NSData *)getEncodedClosedGroupIDAsData:(NSString *)groupID
|
||
|
{
|
||
|
return [[ClosedGroupPrefix stringByAppendingString:groupID] dataUsingEncoding:NSUTF8StringEncoding];
|
||
|
}
|
||
|
|
||
|
+(NSString *)getEncodedMMSGroupID:(NSString *)groupID
|
||
|
{
|
||
|
return [MMSGroupPrefix stringByAppendingString:groupID];
|
||
|
}
|
||
|
|
||
|
+(NSData *)getEncodedMMSGroupIDAsData:(NSString *)groupID
|
||
|
{
|
||
|
return [[MMSGroupPrefix stringByAppendingString:groupID] dataUsingEncoding:NSUTF8StringEncoding];
|
||
|
}
|
||
|
|
||
|
+(NSString *)getEncodedGroupID: (NSData *)groupID
|
||
|
{
|
||
|
return [[NSString alloc] initWithData:groupID encoding:NSUTF8StringEncoding];
|
||
|
}
|
||
|
|
||
|
+(NSString *)getDecodedGroupID:(NSData *)groupID
|
||
|
{
|
||
|
OWSAssertDebug(groupID.length > 0);
|
||
|
NSString *encodedGroupID = [[NSString alloc] initWithData:groupID encoding:NSUTF8StringEncoding];
|
||
|
if ([encodedGroupID componentsSeparatedByString:@"!"].count > 1) {
|
||
|
return [encodedGroupID componentsSeparatedByString:@"!"][1];
|
||
|
}
|
||
|
return [encodedGroupID componentsSeparatedByString:@"!"][0];
|
||
|
}
|
||
|
|
||
|
+(NSData *)getDecodedGroupIDAsData:(NSData *)groupID
|
||
|
{
|
||
|
OWSAssertDebug(groupID.length > 0);
|
||
|
NSString *encodedGroupID = [[NSString alloc]initWithData:groupID encoding:NSUTF8StringEncoding];
|
||
|
NSString *decodedGroupID = [encodedGroupID componentsSeparatedByString:@"!"][0];
|
||
|
if ([encodedGroupID componentsSeparatedByString:@"!"].count > 1) {
|
||
|
decodedGroupID = [encodedGroupID componentsSeparatedByString:@"!"][1];
|
||
|
}
|
||
|
return [decodedGroupID dataUsingEncoding:NSUTF8StringEncoding];
|
||
|
}
|
||
|
|
||
|
@end
|