Spec-Zone .ru
спецификации, руководства, описания, API
|
ADC домой > Ссылочная библиотека> Ссылка> Объединяющийся в сеть> Базовая Основа> Базовая Ссылка Идентификационных данных Служб
|
CSIdentityQuery |
Платформа: | /System/Library/Frameworks/CoreServices.framework/Frameworks/OSServices.framework |
См. также: | |
Включает: |
Объект CSIdentityQuery обеспечивает синхронный или асинхронный доступ к набору идентификационных данных, которыми управляют полномочия идентификационных данных. Клиенты вызывают один из CSIdentityQueryCreate* функции для определения условий запроса. Запрос может быть выполнен точно один раз, или в синхронном или в асинхронном режиме.
Для синхронного выполнения клиент вызывает CSIdentityQueryExecute. Когда все identies соответствие критериев будут найдены, эта функция возвратится. К результатам получают доступ как массив через CSIdentityQueryCopyResults (). Никакие живые обновления к массиву результатов не предоставлены в синхронном режиме.
Для выполнения в асинхронном режиме клиент вызывает CSIdentityQueryExecuteAsynchronously, указывая объект клиента для получения обратных вызовов и runloop/mode, на который планируются обратные вызовы.
CSIdentityQueryExecuteAsynchronously сразу возвращается, и о событиях сообщат функции обратного вызова, поскольку результаты добавляются запросом. Клиент может запросить живые обновления к запросу, который отследит изменения в результатах, поскольку изменения внесены в полномочия идентификационных данных другими процессами. В настоящее время только изменения в локальных полномочиях идентификационных данных наблюдаются.
Асинхронные клиенты должны вызвать CSIdentityQueryStop, когда сделано обработав результаты запроса, чтобы препятствовать тому, чтобы клиентские обратные вызовы были вызваны снова.
CSIdentityQueryCopyResults |
Получите результаты выполнения запроса идентификационных данных
extern CFArrayRef CSIdentityQueryCopyResults( CSIdentityQueryRef query );
query
Массив нуля или большего количества CSIdentityRefs
Возвращает неизменный массив CSIdentityRefs, отражая текущие результаты выполнения запроса.
CSIdentityQueryCreate |
Создает объект запроса идентификационных данных для всех идентификационных данных в указанных полномочиях
extern CSIdentityQueryRef CSIdentityQueryCreate( CFAllocatorRef allocator, CSIdentityClass identityClass, CSIdentityAuthorityRef authority );
allocator
identityClass
authority
Новый объект CSIdentityQuery
Результаты этого запроса включают все идентификационные данные в базе данных указанных полномочий.
CSIdentityQueryCreateForCurrentUser |
Создает запрос для текущих идентификационных данных пользователя сеанса
extern CSIdentityQueryRef CSIdentityQueryCreateForCurrentUser( CFAllocatorRef allocator );
allocator
Новый объект CSIdentityQuery
CSIdentityQueryCreateForName |
Создает запрос идентификационных данных, основанный на объектах на имени
extern CSIdentityQueryRef CSIdentityQueryCreateForName( CFAllocatorRef allocator, CFStringRef name, CSIdentityQueryStringComparisonMethod comparisonMethod, CSIdentityClass identityClass, CSIdentityAuthorityRef authority );
allocator
name
comparisonMethod
identityClass
authority
Новый объект CSIdentityQuery
Запрос находит идентификационные данные по имени. Это ищет полные имена, posix имена и псевдонимы для соответствий.
CSIdentityQueryCreateForPersistentReference |
Создает запрос идентификационных данных, основанный на объектах на объекте справочных данных идентификационных данных
extern CSIdentityQueryRef CSIdentityQueryCreateForPersistentReference( CFAllocatorRef allocator, CFDataRef referenceData );
allocator
referenceData
Новый объект CSIdentityQuery
Считает идентификационные данные справочными данными полученными из CSIdentityCreateReferenceData
CSIdentityQueryCreateForPosixID |
Создает запрос идентификационных данных, основанный на объектах на POSIX ID
extern CSIdentityQueryRef CSIdentityQueryCreateForPosixID( CFAllocatorRef allocator, id_t posixID, CSIdentityClass identityClass, CSIdentityAuthorityRef authority );
allocator
posixID
identityClass
authority
Новый объект CSIdentityQuery
Находит идентификационные данные его UID или GID
CSIdentityQueryCreateForUUID |
Создает запрос идентификационных данных, основанный на объектах на UUID
extern CSIdentityQueryRef CSIdentityQueryCreateForUUID( CFAllocatorRef allocator, CFUUIDRef uuid, CSIdentityAuthorityRef authority );
allocator
uuid
authority
Новый объект CSIdentityQuery
Находит идентификационные данные его UUID
CSIdentityQueryExecute |
Выполните запрос идентификационных данных синхронно
extern Boolean CSIdentityQueryExecute( CSIdentityQueryRef query, CSIdentityQueryFlags flags, CFErrorRef *error );
query
flags
error
Возвращает true, если запрос выполнился успешно, ложь, если произошла ошибка.
CSIdentityQueryExecuteAsynchronously |
Выполните запрос идентификационных данных асинхронно
extern Boolean CSIdentityQueryExecuteAsynchronously( CSIdentityQueryRef query, CSIdentityQueryFlags flags, const CSIdentityQueryClientContext *clientContext, CFRunLoopRef runLoop, CFStringRef runLoopMode );
query
flags
clientContext
runLoop
runLoopMode
Возвращает true, если выполнение запросов запустилось, ложь, если был уже выполнен запрос.
CSIdentityQueryGetTypeID |
Получите CFTypeID класса CSIdentityQuery
extern CFTypeID CSIdentityQueryGetTypeID( void );
CSIdentityQueryStop |
Лишите законной силы клиент запроса идентификационных данных
extern void CSIdentityQueryStop( CSIdentityQueryRef query );
query
Лишите законной силы клиент запроса так, чтобы его обратный вызов никогда не вызывали в будущем. Когда запрос больше не будет использоваться до выпуска заключительной ссылки запроса, клиенты должны вызвать CSIdentityQueryStop.
CSIdentityQueryReceiveEventCallback |
Клиентский обратный вызов события функционирует для получения асинхронных событий запроса
typedef extern void ( *CSIdentityQueryReceiveEventCallback )( CSIdentityQueryRef query, CSIdentityQueryEvent event, CFArrayRef identities, CFErrorRef error, void *info );
query
- Объект запроса идентификационных данных, завершивший событие
event
- Событие объект запроса идентификационных данных завершилось
identities
- CFArray, содержащий идентификационные данные, следующие из запроса
error
- CFError возражает, была ли ошибка от запроса
info
- Любая другая информация, которую Вы хотите, передала функции обратного вызова
CSIdentityQueryClientContext |
Клиентские обратные вызовы указания структуры и частные данные контекста
struct CSIdentityQueryClientContext { CFIndex version; void *info; CFAllocatorRetainCallBack retainInfo; CFAllocatorReleaseCallBack releaseInfo; CFAllocatorCopyDescriptionCallBack copyInfoDescription; CSIdentityQueryReceiveEventCallback receiveEvent; };
CSIdentityQueryEvent |
Результаты выполнения асинхронного запроса
enum { kCSIdentityQueryEventSearchPhaseFinished = 1, kCSIdentityQueryEventResultsAdded = 2, kCSIdentityQueryEventResultsChanged = 3, kCSIdentityQueryEventResultsRemoved = 4, kCSIdentityQueryEventErrorOccurred = 5 };
kCSIdentityQueryEventSearchPhaseFinished
- Когда начальный поиск идентификационных данных закончился, событие генерировало. Если вызывающая сторона запросит kCSIdentityQueryGenerateUpdateEvents опцию, живые события обновления будут следовать.
kCSIdentityQueryEventResultsAdded
- Когда идентификационные данные добавляются к результатам запроса, событие генерировало
kCSIdentityQueryEventResultsChanged
- Когда идентификационные данные уже в результатах запроса были изменены, событие генерировало
kCSIdentityQueryEventResultsRemoved
- Когда идентификационные данные удалены из результатов запроса, событие генерировало
kCSIdentityQueryEventErrorOccurred
- Используемый для создания отчетов об ошибке. Остановки выполнения запросов (постоянно), если отправляется это событие.
События сгенерированы во время асинхронного выполнения запросов
CSIdentityQueryFlags |
Опции выполнения для запроса идентификационных данных
enum { kCSIdentityQueryGenerateUpdateEvents = 0x0001, kCSIdentityQueryIncludeHiddenIdentities = 0x0002 };
kCSIdentityQueryGenerateUpdateEvents
- После того, как фаза запроса intial завершена, контролируйте набор результатов для живых обновлений
kCSIdentityQueryIncludeHiddenIdentities
- Включайте все идентификационные данные соответствия в набор результатов, включая скрытых «системных» пользователей и группы (корень, www, и т.д.)
Немного маски для установки опций выполнения на запросе
CSIdentityQueryStringComparisonMethod |
Опции для запросов базы данных по имени
enum { kCSIdentityQueryStringEquals = 1, kCSIdentityQueryStringBeginsWith = 2 };
kCSIdentityQueryStringEquals
- Имя идентификационных данных должно равняться строке поиска
kCSIdentityQueryStringBeginsWith
- Имя идентификационных данных должно начаться со строки поиска
При поиске идентификационных данных по имени, это значение указывает функцию сравнения строк
Последнее обновление: 11.03.2008