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.
		
		
		
		
		
			
		
			
	
	
		
			59 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Matlab
		
	
		
		
			
		
	
	
			59 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Matlab
		
	
| 
								 
											5 years ago
										 
									 | 
							
								#import "LKGroupUtilities.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@implementation LKGroupUtilities
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 
											5 years ago
										 
									 | 
							
								#define ClosedGroupPrefix @"__textsecure_group__!"
							 | 
						||
| 
								 
											5 years ago
										 
									 | 
							
								#define MMSGroupPrefix @"__signal_mms_group__!"
							 | 
						||
| 
								 
											5 years ago
										 
									 | 
							
								#define OpenGroupPrefix @"__loki_public_chat_group__!"
							 | 
						||
| 
								 
											5 years ago
										 
									 | 
							
								
							 | 
						||
| 
								 | 
							
								+(NSString *)getEncodedOpenGroupID:(NSString *)groupID
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    return [OpenGroupPrefix stringByAppendingString:groupID];
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								+(NSData *)getEncodedOpenGroupIDAsData:(NSString *)groupID
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    return [[OpenGroupPrefix 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];
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 
											5 years ago
										 
									 | 
							
								+(NSString *)getEncodedGroupID:(NSData *)groupID
							 | 
						||
| 
								 
											5 years ago
										 
									 | 
							
								{
							 | 
						||
| 
								 | 
							
								    return [[NSString alloc] initWithData:groupID encoding:NSUTF8StringEncoding];
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								+(NSString *)getDecodedGroupID:(NSData *)groupID
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    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
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 
											5 years ago
										 
									 | 
							
								    return [[LKGroupUtilities getDecodedGroupID:groupID] dataUsingEncoding:NSUTF8StringEncoding];
							 | 
						||
| 
								 
											5 years ago
										 
									 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@end
							 |