Ссылка действий адресной книги
Обратные вызовы действия Адресной книги позволяют Вам заполнять динамические меню приложения Адресной книги с пользовательскими элементами. Вы делаете это путем записи плагина действия Адресной книги, реализующего названную функцию ABActionRegisterCallbacks. Эта функция регистрирует ряд функций обратного вызова, вызывающихся Адресной книгой. CFBundle плагина должен также реализовать функции обратного вызова.
Это - реализация в качестве примера функции ABActionRegisterCallbacks:
ABActionCallbacks* ABActionRegisterCallbacks(void){ABActionCallbacks *callbacks;callbacks = malloc(sizeof(ABActionCallbacks));if (callbacks == NULL)return NULL;callbacks->version = 0;callbacks->property = actionProperty;callbacks->title = actionTitle;callbacks->enabled = actionEnabled;callbacks->selected = actionSelected;return callbacks;}
Каждый плагин действия может реализовать только одно действие. Действия могут только примениться к элементам с метками.
Используйте XCode для создания плагинов действия Адресной книги. Плагины действия места в ~/Library/Address Book Plug-Ins или /Library/Address Book Plug-Ins, В зависимости от объема Вы хотите для действия.
-
Возвратите заголовок пункта меню для действия. Если свойство, возвращенное
ABActionGetPropertyCallbackсвойство мультизначения,identifierсодержит уникальный идентификатор выбранного значения.Объявление
Objective C
typedef CFStringRef (*ABActionCopyTitleCallback) ( ABPersonRef person, CFString CFStringRef identifier );Оператор импорта
Objective C
@import AddressBook;Доступность
Доступный в OS X v10.3 и позже.
-
Возвратиться
trueесли элемент меню действий должен быть включен,falseиначе. Если свойство, возвращенноеABActionGetPropertyCallbackсвойство мультизначения,identifierсодержит уникальный идентификатор выбранного значения.Объявление
Objective C
typedef Boolean (*ABActionEnabledCallback) ( ABPersonRef person, CFStringRef identifier );Оператор импорта
Objective C
@import AddressBook;Доступность
Доступный в OS X v10.3 и позже.
-
Возвратите свойство, которому применяется к действие.
Объявление
Objective C
typedef CFStringRef (* ABActionGetPropertyCallback ) (void);Оператор импорта
Objective C
@import AddressBook;Доступность
Доступный в OS X v10.3 и позже.
-
Выполните действие. Если свойство, возвращенное
ABActionGetPropertyCallbackсвойство мультизначения,identifierсодержит уникальный идентификатор выбранного значения; иначе, идентификаторNULL.Объявление
Objective C
typedef void (*ABActionSelectedCallback) ( ABPersonRef person, CFStringRef identifier );Оператор импорта
Objective C
@import AddressBook;Доступность
Доступный в OS X v10.3 и позже.
-
Это - структура что
ABActionRegisterCallbacksвозвраты для сообщения Адресной книги о действии сменные реализации.Объявление
Objective C
typedef struct { CFIndex version; ABActionGetpropertyCallback property; ABActionCopyTitleCallback title; ABActionEnabledCallback enabled; ABActionSelectedCallback selected; } ABActionCallbacks;Доступность
Доступный в OS X v10.3 и позже.
