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