Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы CoreFoundation ссылка CFPlugIn

Опции
Развертывание Target:

На этой странице
Язык:

Ссылка 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) -> Boolean

    Objective 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!) -> Boolean

    Objective 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

    Objective C

    Boolean CFPlugInRegisterPlugInType ( CFUUIDRef factoryUUID, CFUUIDRef typeUUID );

    Параметры

    factoryUUID

    CFUUID объект, представляющий функцию фабрики, которая может создать зарегистрированный тип.

    typeUUID

    UUID вводят для регистрации.

    Возвращаемое значение

    true если функция фабрики была успешно зарегистрирована, иначе false.

    Обсуждение

    Эта функция используется плагином или узлом при выполнении динамической регистрации.

    Оператор импорта

    Objective C

    @import CoreFoundation;

    Swift

    import CoreFoundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Удаляет заданную функцию от списка плагина зарегистрированных функций фабрики.

    Объявление

    Swift

    func CFPlugInUnregisterFactory(_ factoryUUID: CFUUID!) -> Boolean

    Objective 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

    Objective C

    Boolean CFPlugInUnregisterPlugInType ( CFUUIDRef factoryUUID, CFUUIDRef typeUUID );

    Параметры

    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!) -> Boolean

    Objective 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++, этот параметр функционирует как a this указатель для плагина.

    Обсуждение

    Этот обратный вызов вызывают, поскольку загружается плагин. Это обеспечивает плагин средние значения для динамичной регистрации его типов и фабрик с узлом плагина. Вызов инициирован присутствием 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++ этот параметр функционирует как a this указатель для плагина.

    Оператор импорта

    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 и позже