CFPlugIn_Factory.h [plain text]
#if !defined(__COREFOUNDATION_CFPLUGIN_FACTORY__)
#define __COREFOUNDATION_CFPLUGIN_FACTORY__ 1
#include "CFBundle_Internal.h"
#if defined(__cplusplus)
extern "C" {
#endif
typedef struct __CFPFactory {
CFAllocatorRef _allocator;
CFUUIDRef _uuid;
Boolean _enabled;
char _padding[3];
SInt32 _instanceCount;
CFPlugInFactoryFunction _func;
CFPlugInRef _plugIn;
CFStringRef _funcName;
CFMutableArrayRef _types;
} _CFPFactory;
extern _CFPFactory *_CFPFactoryCreate(CFAllocatorRef allocator, CFUUIDRef factoryID, CFPlugInFactoryFunction func);
extern _CFPFactory *_CFPFactoryCreateByName(CFAllocatorRef allocator, CFUUIDRef factoryID, CFPlugInRef plugIn, CFStringRef funcName);
extern _CFPFactory *_CFPFactoryFind(CFUUIDRef factoryID, Boolean enabled);
extern CFUUIDRef _CFPFactoryGetFactoryID(_CFPFactory *factory);
extern CFPlugInRef _CFPFactoryGetPlugIn(_CFPFactory *factory);
extern void *_CFPFactoryCreateInstance(CFAllocatorRef allocator, _CFPFactory *factory, CFUUIDRef typeID);
extern void _CFPFactoryDisable(_CFPFactory *factory);
extern Boolean _CFPFactoryIsEnabled(_CFPFactory *factory);
extern void _CFPFactoryFlushFunctionCache(_CFPFactory *factory);
extern void _CFPFactoryAddType(_CFPFactory *factory, CFUUIDRef typeID);
extern void _CFPFactoryRemoveType(_CFPFactory *factory, CFUUIDRef typeID);
extern Boolean _CFPFactorySupportsType(_CFPFactory *factory, CFUUIDRef typeID);
extern CFArrayRef _CFPFactoryFindForType(CFUUIDRef typeID);
extern void _CFPFactoryAddInstance(_CFPFactory *factory);
extern void _CFPFactoryRemoveInstance(_CFPFactory *factory);
#if defined(__cplusplus)
}
#endif
#endif