1 #ifndef __TRANSFORM_FACTORY__
2 #define __TRANSFORM_FACTORY__
5 #include "LinkedList.h"
10 static void Register(TransformFactory
* tf
);
11 static dispatch_once_t gSetup
;
12 static dispatch_queue_t gRegisteredQueue
;
13 static CFMutableDictionaryRef gRegistered
;
17 static TransformFactory
* FindTransformFactoryByType(CFStringRef type
);
18 static void RegisterTransforms();
19 static void RegisterTransform(TransformFactory
* tf
, CFStringRef cfname
= NULL
);
20 static void Setup(void *);
23 static bool RegisterTransform_prelocked(TransformFactory
* tf
, CFStringRef name
);
26 static SecTransformRef
MakeTransformWithType(CFStringRef type
, CFErrorRef
* baseError
) CF_RETURNS_RETAINED
;
28 TransformFactory(CFStringRef type
, bool registerGlobally
= false, CFStringRef cftype
= NULL
);
30 virtual CFTypeRef
Make() = 0;
31 CFStringRef
GetTypename() { return mCFType
; };