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.
		
		
		
		
		
			
		
			
	
	
		
			63 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Matlab
		
	
		
		
			
		
	
	
			63 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Matlab
		
	
| 
											12 years ago
										 | // Copyright 2008 Cyrus Najmabadi | ||
|  | // | ||
|  | // Licensed under the Apache License, Version 2.0 (the "License"); | ||
|  | // you may not use this file except in compliance with the License. | ||
|  | // You may obtain a copy of the License at | ||
|  | // | ||
|  | //     http://www.apache.org/licenses/LICENSE-2.0 | ||
|  | // | ||
|  | // Unless required by applicable law or agreed to in writing, software | ||
|  | // distributed under the License is distributed on an "AS IS" BASIS, | ||
|  | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
|  | // See the License for the specific language governing permissions and | ||
|  | // limitations under the License. | ||
|  | 
 | ||
|  | #import "ExtensionRegistry.h" | ||
|  | 
 | ||
|  | @interface PBExtensionRegistry() | ||
|  | @property (retain) NSDictionary* classMap; | ||
|  | @end | ||
|  | 
 | ||
|  | @implementation PBExtensionRegistry | ||
|  | 
 | ||
|  | @synthesize classMap; | ||
|  | 
 | ||
|  | - (void) dealloc { | ||
|  |   self.classMap = nil; | ||
|  | } | ||
|  | 
 | ||
|  | static PBExtensionRegistry* emptyRegistry = nil; | ||
|  | 
 | ||
|  | + (void) initialize { | ||
|  |   if (self == [PBExtensionRegistry class]) { | ||
|  |     emptyRegistry = [[PBExtensionRegistry alloc] initWithClassMap:[NSDictionary dictionary]]; | ||
|  |   } | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | - (id) initWithClassMap:(NSDictionary*) map_{ | ||
|  |   if ((self = [super init])) { | ||
|  |     self.classMap = map_; | ||
|  |   } | ||
|  | 
 | ||
|  |   return self; | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | - (id) keyForClass:(Class) clazz { | ||
|  |   return NSStringFromClass(clazz); | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | + (PBExtensionRegistry*) emptyRegistry { | ||
|  |   return emptyRegistry; | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | - (id<PBExtensionField>) getExtension:(Class) clazz fieldNumber:(NSInteger) fieldNumber { | ||
|  |   NSDictionary* extensionMap = [classMap objectForKey:[self keyForClass:clazz]]; | ||
|  |   return [extensionMap objectForKey:[NSNumber numberWithInteger:fieldNumber]]; | ||
|  | } | ||
|  | 
 | ||
|  | @end |