CSIdentityQuery.pas 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686
  1. {
  2. File: OSServices/CSIdentityQuery.h
  3. Contains: Identity Query APIs
  4. Version: OSServices-352~2
  5. Copyright: © 2006-2008 by Apple Computer, Inc., all rights reserved.
  6. Bugs?: For bug reports, consult the following page on
  7. the World Wide Web:
  8. http://www.freepascal.org/bugs.html
  9. }
  10. { Pascal Translation: Jonas Maebe, <[email protected]>, October 2009 }
  11. {
  12. Modified for use with Free Pascal
  13. Version 308
  14. Please report any bugs to <[email protected]>
  15. }
  16. {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
  17. {$mode macpas}
  18. {$packenum 1}
  19. {$macro on}
  20. {$inline on}
  21. {$calling mwpascal}
  22. unit CSIdentityQuery;
  23. interface
  24. {$setc UNIVERSAL_INTERFACES_VERSION := $0400}
  25. {$setc GAP_INTERFACES_VERSION := $0308}
  26. {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
  27. {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
  28. {$endc}
  29. {$ifc defined CPUPOWERPC and defined CPUI386}
  30. {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
  31. {$endc}
  32. {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
  33. {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
  34. {$endc}
  35. {$ifc not defined __ppc__ and defined CPUPOWERPC32}
  36. {$setc __ppc__ := 1}
  37. {$elsec}
  38. {$setc __ppc__ := 0}
  39. {$endc}
  40. {$ifc not defined __ppc64__ and defined CPUPOWERPC64}
  41. {$setc __ppc64__ := 1}
  42. {$elsec}
  43. {$setc __ppc64__ := 0}
  44. {$endc}
  45. {$ifc not defined __i386__ and defined CPUI386}
  46. {$setc __i386__ := 1}
  47. {$elsec}
  48. {$setc __i386__ := 0}
  49. {$endc}
  50. {$ifc not defined __x86_64__ and defined CPUX86_64}
  51. {$setc __x86_64__ := 1}
  52. {$elsec}
  53. {$setc __x86_64__ := 0}
  54. {$endc}
  55. {$ifc not defined __arm__ and defined CPUARM}
  56. {$setc __arm__ := 1}
  57. {$elsec}
  58. {$setc __arm__ := 0}
  59. {$endc}
  60. {$ifc defined cpu64}
  61. {$setc __LP64__ := 1}
  62. {$elsec}
  63. {$setc __LP64__ := 0}
  64. {$endc}
  65. {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
  66. {$error Conflicting definitions for __ppc__ and __i386__}
  67. {$endc}
  68. {$ifc defined __ppc__ and __ppc__}
  69. {$setc TARGET_CPU_PPC := TRUE}
  70. {$setc TARGET_CPU_PPC64 := FALSE}
  71. {$setc TARGET_CPU_X86 := FALSE}
  72. {$setc TARGET_CPU_X86_64 := FALSE}
  73. {$setc TARGET_CPU_ARM := FALSE}
  74. {$setc TARGET_OS_MAC := TRUE}
  75. {$setc TARGET_OS_IPHONE := FALSE}
  76. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  77. {$elifc defined __ppc64__ and __ppc64__}
  78. {$setc TARGET_CPU_PPC := FALSE}
  79. {$setc TARGET_CPU_PPC64 := TRUE}
  80. {$setc TARGET_CPU_X86 := FALSE}
  81. {$setc TARGET_CPU_X86_64 := FALSE}
  82. {$setc TARGET_CPU_ARM := FALSE}
  83. {$setc TARGET_OS_MAC := TRUE}
  84. {$setc TARGET_OS_IPHONE := FALSE}
  85. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  86. {$elifc defined __i386__ and __i386__}
  87. {$setc TARGET_CPU_PPC := FALSE}
  88. {$setc TARGET_CPU_PPC64 := FALSE}
  89. {$setc TARGET_CPU_X86 := TRUE}
  90. {$setc TARGET_CPU_X86_64 := FALSE}
  91. {$setc TARGET_CPU_ARM := FALSE}
  92. {$ifc defined(iphonesim)}
  93. {$setc TARGET_OS_MAC := FALSE}
  94. {$setc TARGET_OS_IPHONE := TRUE}
  95. {$setc TARGET_IPHONE_SIMULATOR := TRUE}
  96. {$elsec}
  97. {$setc TARGET_OS_MAC := TRUE}
  98. {$setc TARGET_OS_IPHONE := FALSE}
  99. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  100. {$endc}
  101. {$elifc defined __x86_64__ and __x86_64__}
  102. {$setc TARGET_CPU_PPC := FALSE}
  103. {$setc TARGET_CPU_PPC64 := FALSE}
  104. {$setc TARGET_CPU_X86 := FALSE}
  105. {$setc TARGET_CPU_X86_64 := TRUE}
  106. {$setc TARGET_CPU_ARM := FALSE}
  107. {$setc TARGET_OS_MAC := TRUE}
  108. {$setc TARGET_OS_IPHONE := FALSE}
  109. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  110. {$elifc defined __arm__ and __arm__}
  111. {$setc TARGET_CPU_PPC := FALSE}
  112. {$setc TARGET_CPU_PPC64 := FALSE}
  113. {$setc TARGET_CPU_X86 := FALSE}
  114. {$setc TARGET_CPU_X86_64 := FALSE}
  115. {$setc TARGET_CPU_ARM := TRUE}
  116. { will require compiler define when/if other Apple devices with ARM cpus ship }
  117. {$setc TARGET_OS_MAC := FALSE}
  118. {$setc TARGET_OS_IPHONE := TRUE}
  119. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  120. {$elsec}
  121. {$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
  122. {$endc}
  123. {$ifc defined __LP64__ and __LP64__ }
  124. {$setc TARGET_CPU_64 := TRUE}
  125. {$elsec}
  126. {$setc TARGET_CPU_64 := FALSE}
  127. {$endc}
  128. {$ifc defined FPC_BIG_ENDIAN}
  129. {$setc TARGET_RT_BIG_ENDIAN := TRUE}
  130. {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
  131. {$elifc defined FPC_LITTLE_ENDIAN}
  132. {$setc TARGET_RT_BIG_ENDIAN := FALSE}
  133. {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
  134. {$elsec}
  135. {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
  136. {$endc}
  137. {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
  138. {$setc CALL_NOT_IN_CARBON := FALSE}
  139. {$setc OLDROUTINENAMES := FALSE}
  140. {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
  141. {$setc OPAQUE_UPP_TYPES := TRUE}
  142. {$setc OTCARBONAPPLICATION := TRUE}
  143. {$setc OTKERNEL := FALSE}
  144. {$setc PM_USE_SESSION_APIS := TRUE}
  145. {$setc TARGET_API_MAC_CARBON := TRUE}
  146. {$setc TARGET_API_MAC_OS8 := FALSE}
  147. {$setc TARGET_API_MAC_OSX := TRUE}
  148. {$setc TARGET_CARBON := TRUE}
  149. {$setc TARGET_CPU_68K := FALSE}
  150. {$setc TARGET_CPU_MIPS := FALSE}
  151. {$setc TARGET_CPU_SPARC := FALSE}
  152. {$setc TARGET_OS_UNIX := FALSE}
  153. {$setc TARGET_OS_WIN32 := FALSE}
  154. {$setc TARGET_RT_MAC_68881 := FALSE}
  155. {$setc TARGET_RT_MAC_CFM := FALSE}
  156. {$setc TARGET_RT_MAC_MACHO := TRUE}
  157. {$setc TYPED_FUNCTION_POINTERS := TRUE}
  158. {$setc TYPE_BOOL := FALSE}
  159. {$setc TYPE_EXTENDED := FALSE}
  160. {$setc TYPE_LONGLONG := TRUE}
  161. uses MacTypes,MacOSXPosix,CSIdentity,CSIdentityAuthority,CFBase,CFArray,CFData,CFError,CFRunLoop,CFUUID;
  162. {$endc} {not MACOSALLINCLUDE}
  163. {$ifc TARGET_OS_MAC}
  164. {$ALIGN MAC68K}
  165. {
  166. * CSIdentityQueryGetTypeID()
  167. *
  168. * Summary:
  169. * Retrieve the CFTypeID of the CSIdentityQuery class
  170. *
  171. * Mac OS X threading:
  172. * Thread safe since version 10.5
  173. *
  174. * Availability:
  175. * Mac OS X: in version 10.5 and later in CoreServices.framework
  176. * CarbonLib: not available
  177. * Non-Carbon CFM: not available
  178. }
  179. function CSIdentityQueryGetTypeID: CFTypeID; external name '_CSIdentityQueryGetTypeID';
  180. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
  181. {
  182. * CSIdentityQueryFlags
  183. *
  184. * Summary:
  185. * Execution options for an identity query
  186. *
  187. * Discussion:
  188. * A bit mask for setting execution options on a query
  189. }
  190. const
  191. {
  192. * After the intial query phase is complete, monitor the result set
  193. * for live updates
  194. }
  195. kCSIdentityQueryGenerateUpdateEvents = $0001;
  196. {
  197. * Include all matching identities in the result set, including
  198. * hidden "system" users and groups (root, www, etc.)
  199. }
  200. kCSIdentityQueryIncludeHiddenIdentities = $0002;
  201. type
  202. CSIdentityQueryFlags = CFOptionFlags;
  203. {
  204. * CSIdentityQueryStringComparisonMethod
  205. *
  206. * Summary:
  207. * Options for querying the database by name
  208. *
  209. * Discussion:
  210. * When searching for identities by name, this value specifies the
  211. * string comparison function
  212. }
  213. const
  214. {
  215. * The identity name must equal the search string
  216. }
  217. kCSIdentityQueryStringEquals = 1;
  218. {
  219. * The identity name must begin with the search string
  220. }
  221. kCSIdentityQueryStringBeginsWith = 2;
  222. type
  223. CSIdentityQueryStringComparisonMethod = CFIndex;
  224. {
  225. * CSIdentityQueryCreate()
  226. *
  227. * Summary:
  228. * Creates an identity query object for all identities in the
  229. * specified authority
  230. *
  231. * Discussion:
  232. * The results of this query include all of the identities in the
  233. * specified authority's database.
  234. *
  235. * Mac OS X threading:
  236. * Thread safe since version 10.5
  237. *
  238. * Parameters:
  239. *
  240. * allocator:
  241. * The allocator to use for this instance
  242. *
  243. * identityClass:
  244. * The class of identity to find
  245. *
  246. * authority:
  247. * The identity authority to query
  248. *
  249. * Result:
  250. * A new CSIdentityQuery object
  251. *
  252. * Availability:
  253. * Mac OS X: in version 10.5 and later in CoreServices.framework
  254. * CarbonLib: not available
  255. * Non-Carbon CFM: not available
  256. }
  257. function CSIdentityQueryCreate( allocator: CFAllocatorRef; identityClass: CSIdentityClass; authority: CSIdentityAuthorityRef ): CSIdentityQueryRef; external name '_CSIdentityQueryCreate';
  258. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
  259. {
  260. * CSIdentityQueryCreateForName()
  261. *
  262. * Summary:
  263. * Creates an identity query object based on a name
  264. *
  265. * Discussion:
  266. * The query finds identities by name. It searches the full names,
  267. * posix names and aliases for matches.
  268. *
  269. * Mac OS X threading:
  270. * Thread safe since version 10.5
  271. *
  272. * Parameters:
  273. *
  274. * allocator:
  275. * The allocator to use for this instance
  276. *
  277. * name:
  278. * The name criteria for the query.
  279. *
  280. * comparisonMethod:
  281. * The comparision function (equal or begins with)
  282. *
  283. * identityClass:
  284. * The class of identity to find
  285. *
  286. * authority:
  287. * The identity authority to query
  288. *
  289. * Result:
  290. * A new CSIdentityQuery object
  291. *
  292. * Availability:
  293. * Mac OS X: in version 10.5 and later in CoreServices.framework
  294. * CarbonLib: not available
  295. * Non-Carbon CFM: not available
  296. }
  297. function CSIdentityQueryCreateForName( allocator: CFAllocatorRef; name: CFStringRef; comparisonMethod: CSIdentityQueryStringComparisonMethod; identityClass: CSIdentityClass; authority: CSIdentityAuthorityRef ): CSIdentityQueryRef; external name '_CSIdentityQueryCreateForName';
  298. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
  299. {
  300. * CSIdentityQueryCreateForUUID()
  301. *
  302. * Summary:
  303. * Creates an identity query object based on a UUID
  304. *
  305. * Discussion:
  306. * Finds an identity by its UUID
  307. *
  308. * Mac OS X threading:
  309. * Thread safe since version 10.5
  310. *
  311. * Parameters:
  312. *
  313. * allocator:
  314. * The allocator to use for this instance
  315. *
  316. * uuid:
  317. * The UUID of the identity to find
  318. *
  319. * authority:
  320. * The identity authority to query
  321. *
  322. * Result:
  323. * A new CSIdentityQuery object
  324. *
  325. * Availability:
  326. * Mac OS X: in version 10.5 and later in CoreServices.framework
  327. * CarbonLib: not available
  328. * Non-Carbon CFM: not available
  329. }
  330. function CSIdentityQueryCreateForUUID( allocator: CFAllocatorRef; uuid: CFUUIDRef; authority: CSIdentityAuthorityRef ): CSIdentityQueryRef; external name '_CSIdentityQueryCreateForUUID';
  331. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
  332. {
  333. * CSIdentityQueryCreateForPosixID()
  334. *
  335. * Summary:
  336. * Creates an identity query object based on a POSIX ID
  337. *
  338. * Discussion:
  339. * Finds an identity by its UID or GID
  340. *
  341. * Mac OS X threading:
  342. * Thread safe since version 10.5
  343. *
  344. * Parameters:
  345. *
  346. * allocator:
  347. * The allocator to use for this instance
  348. *
  349. * posixID:
  350. * The UID or GID of the identity to find
  351. *
  352. * identityClass:
  353. * The class of identity to find
  354. *
  355. * authority:
  356. * The identity authority to query
  357. *
  358. * Result:
  359. * A new CSIdentityQuery object
  360. *
  361. * Availability:
  362. * Mac OS X: in version 10.5 and later in CoreServices.framework
  363. * CarbonLib: not available
  364. * Non-Carbon CFM: not available
  365. }
  366. function CSIdentityQueryCreateForPosixID( allocator: CFAllocatorRef; posixID: id_t; identityClass: CSIdentityClass; authority: CSIdentityAuthorityRef ): CSIdentityQueryRef; external name '_CSIdentityQueryCreateForPosixID';
  367. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
  368. {
  369. * CSIdentityQueryCreateForPersistentReference()
  370. *
  371. * Summary:
  372. * Creates an identity query object based on an identity reference
  373. * data object
  374. *
  375. * Discussion:
  376. * Finds an identity by reference data obtained from
  377. * CSIdentityCreateReferenceData
  378. *
  379. * Mac OS X threading:
  380. * Thread safe since version 10.5
  381. *
  382. * Parameters:
  383. *
  384. * allocator:
  385. * The allocator to use for this instance
  386. *
  387. * referenceData:
  388. * The reference data that fully describes an identity
  389. *
  390. * Result:
  391. * A new CSIdentityQuery object
  392. *
  393. * Availability:
  394. * Mac OS X: in version 10.5 and later in CoreServices.framework
  395. * CarbonLib: not available
  396. * Non-Carbon CFM: not available
  397. }
  398. function CSIdentityQueryCreateForPersistentReference( allocator: CFAllocatorRef; referenceData: CFDataRef ): CSIdentityQueryRef; external name '_CSIdentityQueryCreateForPersistentReference';
  399. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
  400. {
  401. * CSIdentityQueryCreateForCurrentUser()
  402. *
  403. * Summary:
  404. * Creates a query for the current session user's identity
  405. *
  406. * Mac OS X threading:
  407. * Thread safe since version 10.5
  408. *
  409. * Parameters:
  410. *
  411. * allocator:
  412. * The allocator to use for this instance
  413. *
  414. * Result:
  415. * A new CSIdentityQuery object
  416. *
  417. * Availability:
  418. * Mac OS X: in version 10.5 and later in CoreServices.framework
  419. * CarbonLib: not available
  420. * Non-Carbon CFM: not available
  421. }
  422. function CSIdentityQueryCreateForCurrentUser( allocator: CFAllocatorRef ): CSIdentityQueryRef; external name '_CSIdentityQueryCreateForCurrentUser';
  423. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
  424. {
  425. * CSIdentityQueryCopyResults()
  426. *
  427. * Summary:
  428. * Retrieve the results of executing an identity query
  429. *
  430. * Discussion:
  431. * Returns an immutable array of CSIdentityRefs, reflecting the
  432. * current results of the query's execution.
  433. *
  434. * Mac OS X threading:
  435. * Thread safe since version 10.5
  436. *
  437. * Parameters:
  438. *
  439. * query:
  440. * The query object to access
  441. *
  442. * Result:
  443. * An array of zero or more CSIdentityRefs
  444. *
  445. * Availability:
  446. * Mac OS X: in version 10.5 and later in CoreServices.framework
  447. * CarbonLib: not available
  448. * Non-Carbon CFM: not available
  449. }
  450. function CSIdentityQueryCopyResults( query: CSIdentityQueryRef ): CFArrayRef; external name '_CSIdentityQueryCopyResults';
  451. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
  452. {
  453. * CSIdentityQueryExecute()
  454. *
  455. * Summary:
  456. * Execute an identity query synchronously
  457. *
  458. * Mac OS X threading:
  459. * Thread safe since version 10.5
  460. *
  461. * Parameters:
  462. *
  463. * query:
  464. * The query object to execute
  465. *
  466. * flags:
  467. * Execution options
  468. *
  469. * error:
  470. * Optional pointer to a CFError object which must be released by
  471. * the caller if CSIdentityQueryExecute returns false
  472. *
  473. * Result:
  474. * Returns true if the query executed successfully, false if an
  475. * error occurred.
  476. *
  477. * Availability:
  478. * Mac OS X: in version 10.5 and later in CoreServices.framework
  479. * CarbonLib: not available
  480. * Non-Carbon CFM: not available
  481. }
  482. function CSIdentityQueryExecute( query: CSIdentityQueryRef; flags: CSIdentityQueryFlags; error: CFErrorRefPtr { can be NULL } ): Boolean; external name '_CSIdentityQueryExecute';
  483. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
  484. {
  485. * CSIdentityQueryEvent
  486. *
  487. * Summary:
  488. * Results from executing an asynchronous query
  489. *
  490. * Discussion:
  491. * Events generated during asynchronous query execution
  492. }
  493. const
  494. {
  495. * Event generated when the initial lookup of identities has
  496. * finished. Live update events will follow if caller requests the
  497. * kCSIdentityQueryGenerateUpdateEvents option.
  498. }
  499. kCSIdentityQueryEventSearchPhaseFinished = 1;
  500. {
  501. * Event generated when identities are added to the query results
  502. }
  503. kCSIdentityQueryEventResultsAdded = 2;
  504. {
  505. * Event generated when identities already in the query results have
  506. * been modified
  507. }
  508. kCSIdentityQueryEventResultsChanged = 3;
  509. {
  510. * Event generated when identities are removed from the query results
  511. }
  512. kCSIdentityQueryEventResultsRemoved = 4;
  513. {
  514. * Used to report an error. Query execution stops (permanently) if
  515. * this event is sent.
  516. }
  517. kCSIdentityQueryEventErrorOccurred = 5;
  518. type
  519. CSIdentityQueryEvent = CFIndex;
  520. {
  521. * CSIdentityQueryReceiveEventCallback
  522. *
  523. * Summary:
  524. * The client event callback function for receiving asynchronous
  525. * query events
  526. *
  527. * Parameters:
  528. *
  529. * query:
  530. * The identity query object that has completed an event
  531. *
  532. * event:
  533. * The event the identity query object has completed
  534. *
  535. * identities:
  536. * a CFArray containing identities resulting from the query
  537. *
  538. * error:
  539. * A CFError object if there was an error from the query
  540. *
  541. * info:
  542. * Any other information you want passed to the callback function
  543. }
  544. type
  545. CSIdentityQueryReceiveEventCallback = procedure( query: CSIdentityQueryRef; event: CSIdentityQueryEvent; identities: CFArrayRef; error: CFErrorRef; info: UnivPtr );
  546. {
  547. * CSIdentityQueryClientContext
  548. *
  549. * Summary:
  550. * Client structure specifying callbacks and private context data
  551. }
  552. type
  553. CSIdentityQueryClientContext = record
  554. version: CFIndex;
  555. info: UnivPtr;
  556. retainInfo: CFAllocatorRetainCallBack;
  557. releaseInfo: CFAllocatorReleaseCallBack;
  558. copyInfoDescription: CFAllocatorCopyDescriptionCallBack;
  559. receiveEvent: CSIdentityQueryReceiveEventCallback;
  560. end;
  561. {
  562. * CSIdentityQueryExecuteAsynchronously()
  563. *
  564. * Summary:
  565. * Execute an identity query asynchronously
  566. *
  567. * Mac OS X threading:
  568. * Thread safe since version 10.5
  569. *
  570. * Parameters:
  571. *
  572. * query:
  573. * The query object to execute
  574. *
  575. * flags:
  576. * Execution options
  577. *
  578. * clientContext:
  579. * The client context and callbacks to be used during execution
  580. *
  581. * runLoop:
  582. * The run loop on which to schedule callbacks
  583. *
  584. * runLoopMode:
  585. * The run loop mode in which callbacks may be scheduled
  586. *
  587. * Result:
  588. * Returns true if query execution started, false if the query has
  589. * already been executed.
  590. *
  591. * Availability:
  592. * Mac OS X: in version 10.5 and later in CoreServices.framework
  593. * CarbonLib: not available
  594. * Non-Carbon CFM: not available
  595. }
  596. function CSIdentityQueryExecuteAsynchronously( query: CSIdentityQueryRef; flags: CSIdentityQueryFlags; const (*var*) clientContext: CSIdentityQueryClientContext; runLoop: CFRunLoopRef; runLoopMode: CFStringRef ): Boolean; external name '_CSIdentityQueryExecuteAsynchronously';
  597. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
  598. {
  599. * CSIdentityQueryStop()
  600. *
  601. * Summary:
  602. * Invalidate an identity query client
  603. *
  604. * Discussion:
  605. * Invalidate a query client so that its callback will never be
  606. * called in the future. Clients should call CSIdentityQueryStop
  607. * when an query will no longer be used, prior to releasing the
  608. * final query reference.
  609. *
  610. * Mac OS X threading:
  611. * Thread safe since version 10.5
  612. *
  613. * Parameters:
  614. *
  615. * query:
  616. * The query to access
  617. *
  618. * Availability:
  619. * Mac OS X: in version 10.5 and later in CoreServices.framework
  620. * CarbonLib: not available
  621. * Non-Carbon CFM: not available
  622. }
  623. procedure CSIdentityQueryStop( query: CSIdentityQueryRef ); external name '_CSIdentityQueryStop';
  624. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
  625. {$endc} {TARGET_OS_MAC}
  626. {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
  627. end.
  628. {$endc} {not MACOSALLINCLUDE}