Code Search for Developers
 
 
  

CFPlugIn.h from guliverkli at Krugle


Show CFPlugIn.h syntax highlighted

/*
     File:       CFPlugIn.h
 
     Contains:   CoreFoundation plugins
 
     Version:    Technology: Mac OS X
                 Release:    QuickTime 6.0.2
 
     Copyright:  (c) 1999-2001 by Apple Computer, Inc., all rights reserved
 
     Bugs?:      For bug reports, consult the following page on
                 the World Wide Web:
 
                     http://developer.apple.com/bugreporter/
 
*/
#ifndef __CFPLUGIN__
#define __CFPLUGIN__

#ifndef __CFBASE__
#include "CFBase.h"
#endif




#ifndef __CFARRAY__
#include "CFArray.h"
#endif

#ifndef __CFSTRING__
#include "CFString.h"
#endif

#ifndef __CFURL__
#include "CFURL.h"
#endif

#ifndef __CFBUNDLE__
#include "CFBundle.h"
#endif




#if PRAGMA_ONCE
#pragma once
#endif

#ifdef __cplusplus
extern "C" {
#endif

#if PRAGMA_IMPORT
#pragma import on
#endif

#if PRAGMA_STRUCT_ALIGN
    #pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
    #pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
    #pragma pack(2)
#endif

typedef struct __CFPlugInInstanceRef * CFPlugInInstanceRef;
extern const CFStringRef kCFPlugInDynamicRegistrationKey;
extern const CFStringRef kCFPlugInDynamicRegisterFunctionKey;
extern const CFStringRef kCFPlugInUnloadFunctionKey;
extern const CFStringRef kCFPlugInFactoriesKey;
extern const CFStringRef kCFPlugInTypesKey;
/* ================= Function prototypes for various callbacks ================= */
typedef CALLBACK_API_C( void , CFPlugInDynamicRegisterFunction )(CFPlugInRef plugIn);
typedef CALLBACK_API_C( void , CFPlugInUnloadFunction )(CFPlugInRef plugIn);
typedef CALLBACK_API_C( CFPlugInInstanceRef , CFPlugInFactoryFunction )(CFAllocatorRef allocator, CFStringRef typeName);
typedef CALLBACK_API_C( Boolean , CFPlugInInstanceGetInterfaceFunction )(CFPlugInInstanceRef instance, CFStringRef interfaceName, void **ftbl);
typedef CALLBACK_API_C( void , CFPlugInInstanceDeallocateInstanceDataFunction )(void *instanceData);
/* ================= Creating PlugIns ================= */
EXTERN_API_C( UInt32 )
CFPlugInGetTypeID               (void);

EXTERN_API_C( CFPlugInRef )
CFPlugInCreate                  (CFAllocatorRef         allocator,
                                 CFURLRef               plugInURL);

/* Might return an existing instance with the ref-count bumped. */
EXTERN_API_C( CFBundleRef )
CFPlugInGetBundle               (CFPlugInRef            plugIn);

/* ================= Controlling load on demand ================= */
/* For plugIns. */
/* A dynamic registration function can call CFPlugInSetLoadOnDemand. */
EXTERN_API_C( void )
CFPlugInSetLoadOnDemand         (CFPlugInRef            plugIn,
                                 Boolean                flag);

EXTERN_API_C( Boolean )
CFPlugInIsLoadOnDemand          (CFPlugInRef            plugIn);

/* ================= Finding factories and creating instances ================= */
/* For plugIn hosts. */
/* Functions for finding factories to create specific types and actually creating instances of a type. */
EXTERN_API_C( CFArrayRef )
CFPlugInFindFactoriesForPlugInType (CFStringRef         typeName);

EXTERN_API_C( CFPlugInInstanceRef )
CFPlugInInstanceCreate          (CFAllocatorRef         allocator,
                                 CFStringRef            factoryName,
                                 CFStringRef            typeName);

/* ================= Using instances ================= */
/* For plugIn hosts and/or plugIns. */
/* Functions for dealing with instances. */
EXTERN_API_C( Boolean )
CFPlugInInstanceGetInterfaceFunctionTable (CFPlugInInstanceRef  instance,
                                 CFStringRef            interfaceName,
                                 void **                ftbl);

EXTERN_API_C( CFStringRef )
CFPlugInInstanceGetFactoryName  (CFPlugInInstanceRef    instance);

EXTERN_API_C( void *)
CFPlugInInstanceGetInstanceData (CFPlugInInstanceRef    instance);

/* ================= Registering factories and types ================= */
/* For plugIn writers who must dynamically register things. */
/* Functions to register factory functions and to associate factories with types. */
EXTERN_API_C( Boolean )
CFPlugInRegisterFactoryFunction (CFStringRef            factoryName,
                                 CFPlugInFactoryFunction  func);

EXTERN_API_C( Boolean )
CFPlugInRegisterFactoryFunctionByName (CFStringRef      factoryName,
                                 CFPlugInRef            plugIn,
                                 CFStringRef            functionName);

EXTERN_API_C( Boolean )
CFPlugInUnregisterFactory       (CFStringRef            factoryName);

EXTERN_API_C( Boolean )
CFPlugInRegisterPlugInType      (CFStringRef            factoryName,
                                 CFStringRef            typeName);

EXTERN_API_C( Boolean )
CFPlugInUnregisterPlugInType    (CFStringRef            factoryName,
                                 CFStringRef            typeName);

/* ================= Primitive instance creation ================= */
/* For plugIns. */
/* Factory function implementations should use this to actually create an instance. */
EXTERN_API_C( UInt32 )
CFPlugInInstanceGetTypeID       (void);

EXTERN_API_C( CFPlugInInstanceRef )
CFPlugInInstanceCreateWithInstanceDataSize (CFAllocatorRef  allocator,
                                 CFIndex                instanceDataSize,
                                 CFPlugInInstanceDeallocateInstanceDataFunction  deallocateInstanceFunction,
                                 CFStringRef            factoryName,
                                 CFPlugInInstanceGetInterfaceFunction  getInterfaceFunction);


#if PRAGMA_STRUCT_ALIGN
    #pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
    #pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
    #pragma pack()
#endif

#ifdef PRAGMA_IMPORT_OFF
#pragma import off
#elif PRAGMA_IMPORT
#pragma import reset
#endif

#ifdef __cplusplus
}
#endif

#endif /* __CFPLUGIN__ */





See more files for this project here

guliverkli

Home of VobSub, Media Player Classic (MPC) and other misc utils.

Project homepage: http://sourceforge.net/projects/guliverkli
Programming language(s): C,C++,PHP
License: other

  ADSP.h
  ADSPSecure.h
  AEDataModel.h
  AEObjects.h
  AEPackObject.h
  AERegistry.h
  AEUserTermTypes.h
  AGP.h
  AIFF.h
  ASDebugging.h
  ASRegistry.h
  ATA.h
  ATSLayoutTypes.h
  ATSTypes.h
  ATSUnicode.h
  AVComponents.h
  AVLTree.h
  Aliases.h
  Appearance.h
  AppleEvents.h
  AppleGuide.h
  AppleScript.h
  AppleTalk.h
  Balloons.h
  CFArray.h
  CFBag.h
  CFBase.h
  CFBundle.h
  CFCharacterSet.h
  CFData.h
  CFDate.h
  CFDictionary.h
  CFNumber.h
  CFPlugIn.h
  CFPreferences.h
  CFPropertyList.h
  CFSet.h
  CFString.h
  CFStringEncodingExt.h
  CFTimeZone.h
  CFURL.h
  CFURLAccess.h
  CMAcceleration.h
  CMApplication.h
  CMCalibrator.h
  CMComponent.h
  CMConversions.h
  CMICCProfile.h
  CMMComponent.h
  CMPRComponent.h
  CMScriptingPlugin.h
  CRMSerialDevices.h
  CTBUtilities.h
  CarbonEvents.h
  CardServices.h
  CodeFragments.h
  Collections.h
  ColorPicker.h
  ColorPickerComponents.h
  CommResources.h
  Components.h
  ConditionalMacros.h
  ConnectionTools.h
  Connections.h
  ControlDefinitions.h
  ControlStrip.h
  Controls.h
  CoreFoundation.h
  CryptoMessageSyntax.h
  CursorDevices.h
  DatabaseAccess.h
  DateTimeUtils.h
  Debugging.h
  DeskBus.h
  DeviceControl.h
  Devices.h
  Dialogs.h
  Dictionary.h
  DigitalSignature.h
  DiskInit.h
  Disks.h
  Displays.h
  Drag.h
  DrawSprocket.h
  DriverFamilyMatching.h
  DriverGestalt.h
  DriverServices.h
  DriverSupport.h
  DriverSynchronization.h
  ENET.h
  EPPC.h
  Editions.h
  Endian.h
  Events.h
  FSM.h
  FileSigning.h
  FileTransferTools.h
  FileTransfers.h
  FileTypesAndCreators.h
  Files.h