Ссылка CFPlugIn
CFPlugIn
обеспечивает стандартную архитектуру для расширений приложения. С CFPlugIn
, можно разработать приложение как платформу узла, использующую ряд вызванных плагинов модулей исполняемого кода для обеспечения определенных четко определенных областей функциональности. Этот подход позволяет сторонним разработчикам добавлять опции к Вашему приложению, не требуя доступа к Вашему исходному коду. Можно также связать вместе плагины для многократных платформ и позволить CFPlugIn
прозрачно загрузите надлежащий плагин во время выполнения. Можно использовать CFPlugIn
добавить сменную возможность к или записать плагин для, Ваше приложение.
-
Создает CFPlugIn, данный его URL.
Объявление
Swift
func CFPlugInCreate(_
allocator
: CFAllocator!, _plugInURL
: CFURL!) -> CFPlugIn!Objective C
CFPlugInRef CFPlugInCreate ( CFAllocatorRef allocator, CFURLRef plugInURL );
Параметры
allocator
Средство выделения для использования для выделения памяти для нового плагина. Передача
NULL
илиkCFAllocatorDefault
использовать средство выделения по умолчанию.plugInURL
Расположение плагина.
Возвращаемое значение
Новый плагин. Владение соблюдает Создать Правило.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Создает a
CFPlugIn
экземпляр данного типа с помощью данной фабрики.Объявление
Swift
func CFPlugInInstanceCreate(_
allocator
: CFAllocator!, _factoryUUID
: CFUUID!, _typeUUID
: CFUUID!) -> UnsafeMutablePointer<Void>Objective C
void * CFPlugInInstanceCreate ( CFAllocatorRef allocator, CFUUIDRef factoryUUID, CFUUIDRef typeUUID );
Параметры
allocator
Средство выделения для использования для выделения памяти для нового объекта. Передача
NULL
илиkCFAllocatorDefault
использовать средство выделения по умолчанию.factoryUUID
UUID представление фабрики функционируют для использования для создания плагина данного типа.
typeUUID
Тип UUID.
Возвращаемое значение
Возвращает интерфейс IUnknown для нового плагина.
Обсуждение
Сменный узел использует эту функцию для создания экземпляра данного типа. Если плагин не использует динамическую регистрацию, эта функция заставляет код плагина быть загруженным в память.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Регистрирует функцию фабрики и ее UUID с a
CFPlugIn
объект.Объявление
Swift
func CFPlugInRegisterFactoryFunction(_
factoryUUID
: CFUUID!, _ `func
`: CFPlugInFactoryFunction) -> BooleanObjective C
Boolean CFPlugInRegisterFactoryFunction ( CFUUIDRef factoryUUID, CFPlugInFactoryFunction func );
Параметры
factoryUUID
CFUUID
объект, представляющий фабрику, функционирует для регистрации.func
Указатель функции фабрики для регистрации.
Возвращаемое значение
true
если функция фабрики была успешно зарегистрирована, иначеfalse
.Обсуждение
Эта функция используется плагином или узлом при выполнении динамической регистрации.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Регистрирует функцию фабрики в a
CFPlugIn
объект с помощью имени функции вместо его UUID.Объявление
Swift
func CFPlugInRegisterFactoryFunctionByName(_
factoryUUID
: CFUUID!, _plugIn
: CFPlugIn!, _functionName
: CFString!) -> BooleanObjective C
Boolean CFPlugInRegisterFactoryFunctionByName ( CFUUIDRef factoryUUID, CFPlugInRef plugIn, CFStringRef functionName );
Параметры
factoryUUID
CFUUID
объект, представляющий фабрику, функционирует для регистрации.plugIn
Сменное, содержащее
functionName
.functionName
Имя фабрики функционирует для регистрации.
Возвращаемое значение
true
если функция фабрики была успешно зарегистрирована, иначеfalse
.Обсуждение
Эта функция используется плагином или узлом при выполнении динамической регистрации.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Регистрирует тип и его соответствующую функцию фабрики с a
CFPlugIn
объект.Объявление
Swift
func CFPlugInRegisterPlugInType(_
factoryUUID
: CFUUID!, _typeUUID
: CFUUID!) -> BooleanПараметры
factoryUUID
CFUUID
объект, представляющий функцию фабрики, которая может создать зарегистрированный тип.typeUUID
UUID вводят для регистрации.
Возвращаемое значение
true
если функция фабрики была успешно зарегистрирована, иначеfalse
.Обсуждение
Эта функция используется плагином или узлом при выполнении динамической регистрации.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Удаляет заданную функцию от списка плагина зарегистрированных функций фабрики.
Объявление
Swift
func CFPlugInUnregisterFactory(_
factoryUUID
: CFUUID!) -> BooleanObjective C
Boolean CFPlugInUnregisterFactory ( CFUUIDRef factoryUUID );
Параметры
factoryUUID
CFUUID
объект, представляющий фабрику, чтобы не зарегистрироваться.Возвращаемое значение
true
если функция фабрики была успешно не зарегистрирована, иначеfalse
.Обсуждение
Используемый плагином или узлом при выполнении динамической регистрации.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Удаляет данный тип из списка плагина зарегистрированных типов.
Объявление
Swift
func CFPlugInUnregisterPlugInType(_
factoryUUID
: CFUUID!, _typeUUID
: CFUUID!) -> BooleanПараметры
factoryUUID
CFUUID
объект, представляющий фабрику, функционирует для типа, чтобы не зарегистрироваться.typeUUID
UUID вводят, чтобы не зарегистрироваться.
Возвращаемое значение
true
если функция фабрики была успешно не зарегистрирована, иначеfalse
.Обсуждение
Используемый плагином или узлом при выполнении динамической регистрации.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Регистрирует новый экземпляр типа с
CFPlugIn
.Объявление
Swift
func CFPlugInAddInstanceForFactory(_
factoryID
: CFUUID!)Objective C
void CFPlugInAddInstanceForFactory ( CFUUIDRef factoryID );
Параметры
factoryID
CFUUID
объект, представляющий сменную фабрику.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Поиски все зарегистрированные плагины для функций фабрики, способных к созданию экземпляра данного типа.
Объявление
Swift
func CFPlugInFindFactoriesForPlugInType(_
typeUUID
: CFUUID!) -> CFArray!Objective C
CFArrayRef CFPlugInFindFactoriesForPlugInType ( CFUUIDRef typeUUID );
Параметры
typeUUID
Тип UUID.
Возвращаемое значение
Массив UUIDs для функций фабрики, способных к созданию экземпляра данного типа.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Ищет данный плагин функции фабрики, способные к созданию экземпляра данного типа.
Объявление
Swift
func CFPlugInFindFactoriesForPlugInTypeInPlugIn(_
typeUUID
: CFUUID!, _plugIn
: CFPlugIn!) -> CFArray!Objective C
CFArrayRef CFPlugInFindFactoriesForPlugInTypeInPlugIn ( CFUUIDRef typeUUID, CFPlugInRef plugIn );
Параметры
typeUUID
Тип UUID.
plugIn
Плагин для поиска.
Возвращаемое значение
Массив UUIDs для функций фабрики, способных к созданию экземпляра данного типа.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает пакет плагина.
Объявление
Swift
func CFPlugInGetBundle(_
plugIn
: CFPlugIn!) -> CFBundle!Objective C
CFBundleRef CFPlugInGetBundle ( CFPlugInRef plugIn );
Параметры
plugIn
Плагин, чей пакет для получения.
Возвращаемое значение
Пакет для
plugIn
. Владение соблюдает Получить Правило.Обсуждение
Необходимо всегда использовать эту функцию для получения пакета плагина. Никогда не пытайтесь получить доступ к плагину непосредственно как к пакету.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает идентификатор типа для
CFPlugIn
непрозрачный тип.Объявление
Swift
func CFPlugInGetTypeID() -> CFTypeID
Objective C
CFTypeID CFPlugInGetTypeID ( void );
Возвращаемое значение
Идентификатор типа для
CFPlugIn
непрозрачный тип.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Определяет, загружается ли плагин по требованию.
Объявление
Swift
func CFPlugInIsLoadOnDemand(_
plugIn
: CFPlugIn!) -> BooleanObjective C
Boolean CFPlugInIsLoadOnDemand ( CFPlugInRef plugIn );
Параметры
plugIn
Плагин для запросов.
Возвращаемое значение
true
если плагин загружается только, когда клиент запрашивает экземпляр поддерживаемого типа, иначеfalse
.Обсуждение
Плагины, делающие статическую регистрацию, являются загрузкой по требованию по умолчанию. Плагины, делающие динамическую регистрацию, не являются загрузкой по требованию по умолчанию.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Не регистрирует экземпляр типа с
CFPlugIn
.Объявление
Swift
func CFPlugInRemoveInstanceForFactory(_
factoryID
: CFUUID!)Objective C
void CFPlugInRemoveInstanceForFactory ( CFUUIDRef factoryID );
Параметры
factoryID
CFUUID
объект, представляющий сменную фабрику.Обсуждение
Если количества экземпляра каждой фабрики в плагине являются нулем, плагин может быть разгружен.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Включает или отключает загрузку по требованию для плагинов, делающих динамическую регистрацию (только, когда клиент запрашивает экземпляр поддерживаемого типа).
Объявление
Swift
func CFPlugInSetLoadOnDemand(_
plugIn
: CFPlugIn!, _flag
: Boolean)Objective C
void CFPlugInSetLoadOnDemand ( CFPlugInRef plugIn, Boolean flag );
Параметры
plugIn
Плагин, который будет загружен по требованию.
flag
true
включить загрузку по требованию,false
иначе.Обсуждение
Плагины, делающие статическую регистрацию, являются загрузкой по требованию по умолчанию. Плагины, делающие динамическую регистрацию, не являются загрузкой по требованию по умолчанию.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Обратный вызов, обеспечивающий плагин возможность динамично зарегистрировать ее типы в узле.
Объявление
Swift
typealias CFPlugInDynamicRegisterFunction = CFunctionPointer<((CFPlugIn!) -> Void)>
Objective C
typedef void (*CFPlugInDynamicRegisterFunction) ( CFPlugInRef plugIn );
Параметры
plugIn
CFPlugIn
объект, который занят динамической регистрацией. При использовании в C++, этот параметр функционирует как athis
указатель для плагина.Обсуждение
Этот обратный вызов вызывают, поскольку загружается плагин. Это обеспечивает плагин средние значения для динамичной регистрации его типов и фабрик с узлом плагина. Вызов инициирован присутствием
kCFPlugInDynamicRegistrationKey
в информационном списке свойств плагина.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Функция обратного вызова, которую сменный автор должен реализовать для создания сменного экземпляра.
Объявление
Swift
typealias CFPlugInFactoryFunction = CFunctionPointer<((CFAllocator!, CFUUID!) -> UnsafeMutablePointer<Void>)>
Objective C
typedef void *(*CFPlugInFactoryFunction) ( CFAllocatorRef allocator, CFUUIDRef typeUUID );
Параметры
allocator
Средство выделения для использования для выделения памяти для нового объекта. Передача
NULL
илиkCFAllocatorDefault
использовать средство выделения по умолчанию.typeUUID
UUID вводят для инстанцирования.
Обсуждение
Реализация сменным автором этой функции регистрируется в
CFPlugIn
или статически в информационном списке свойств плагина, или динамично. Эта функция выполняется в результате вызова кCFPlugInInstanceCreate
сменным узлом.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Функция обратного вызова, которую вызывают, если есть как раз перед кодом плагина, разгружена.
Объявление
Swift
typealias CFPlugInUnloadFunction = CFunctionPointer<((CFPlugIn!) -> Void)>
Objective C
typedef void (*CFPlugInUnloadFunction) ( CFPlugInRef plugIn );
Параметры
plugIn
CFPlugIn
объект, собирающийся быть разгруженным из памяти. При записи в C++ этот параметр функционирует как athis
указатель для плагина.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.0 и позже.
-
Ссылка на a
CFPlugin
объект.Объявление
Swift
typealias CFPlugInRef = CFPlugIn
Objective C
typedef struct __CFBundle *CFPlugInRef;
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в версии 10.0 OS X и позже.
-
Информационный список свойств плагина может содержать эти ключи, используемые для регистрации типов, фабрик и интерфейсов.
Объявление
Swift
let kCFPlugInDynamicRegistrationKey: CFString! let kCFPlugInDynamicRegisterFunctionKey: CFString! let kCFPlugInUnloadFunctionKey: CFString! let kCFPlugInFactoriesKey: CFString! let kCFPlugInTypesKey: CFString!
Objective C
const CFStringRef kCFPlugInDynamicRegistrationKey; const CFStringRef kCFPlugInDynamicRegisterFunctionKey; const CFStringRef kCFPlugInUnloadFunctionKey; const CFStringRef kCFPlugInFactoriesKey; const CFStringRef kCFPlugInTypesKey;
Константы
-
kCFPlugInDynamicRegistrationKey
kCFPlugInDynamicRegistrationKey
Указывает, требует ли плагин динамической регистрации.
Доступный в OS X v10.0 и позже.
-
kCFPlugInDynamicRegisterFunctionKey
kCFPlugInDynamicRegisterFunctionKey
Используемый для указания регистрационной функции плагина.
Доступный в OS X v10.0 и позже.
-
kCFPlugInUnloadFunctionKey
kCFPlugInUnloadFunctionKey
Используемый для указания плагина разгружают функцию.
Доступный в OS X v10.0 и позже.
-
kCFPlugInFactoriesKey
kCFPlugInFactoriesKey
Используемый для статичной регистрации функций фабрики.
Доступный в OS X v10.0 и позже.
-
kCFPlugInTypesKey
kCFPlugInTypesKey
Используемый для статичной регистрации фабрик, которые могут создать каждый поддерживаемый тип.
Доступный в OS X v10.0 и позже.
Доступность
Версия 10.0 OS X и позже
-