1/*
2 * Copyright (c) 1998-2013 Apple Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
12 *
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
20 *
21 * @APPLE_LICENSE_HEADER_END@
22 */
23
24#ifndef __DISKARBITRATIOND_DAQUEUE__
25#define __DISKARBITRATIOND_DAQUEUE__
26
27#include <CoreFoundation/CoreFoundation.h>
28
29#include "DADisk.h"
30#include "DADissenter.h"
31#include "DARequest.h"
32#include "DASession.h"
33
34#ifdef __cplusplus
35extern "C" {
36#endif /* __cplusplus */
37
38typedef void ( *DAResponseCallback )( CFTypeRef response, void * context );
39
40extern Boolean _DAResponseDispatch( CFTypeRef response, SInt32 responseID );
41
42extern void DADiskAppearedCallback( DADiskRef disk );
43
44extern void DADiskClaimReleaseCallback( DADiskRef disk, DACallbackRef callback, DAResponseCallback response, void * responseContext );
45
46extern void DADiskDescriptionChangedCallback( DADiskRef disk, CFTypeRef key );
47
48extern void DADiskDisappearedCallback( DADiskRef disk );
49
50extern void DADiskEject( DADiskRef disk, DADiskEjectOptions options, DACallbackRef callback );
51
52extern void DADiskEjectApprovalCallback( DADiskRef disk, DAResponseCallback response, void * responseContext );
53
54extern void DADiskMount( DADiskRef disk, CFURLRef mountpoint, DADiskMountOptions options, DACallbackRef callback );
55
56extern void DADiskMountApprovalCallback( DADiskRef disk, DAResponseCallback response, void * responseContext );
57
58extern void DADiskMountWithArguments( DADiskRef disk, CFURLRef mountpoint, DADiskMountOptions options, DACallbackRef callback, CFStringRef arguments );
59
60extern void DADiskPeekCallback( DADiskRef disk, DACallbackRef callback, DAResponseCallback response, void * responseContext );
61
62extern void DADiskProbe( DADiskRef disk, DACallbackRef callback );
63
64extern void DADiskRefresh( DADiskRef disk, DACallbackRef callback );
65
66extern void DADiskUnmount( DADiskRef disk, DADiskUnmountOptions options, DACallbackRef callback );
67
68extern void DADiskUnmountApprovalCallback( DADiskRef disk, DAResponseCallback response, void * responseContext );
69
70extern void DAIdleCallback( void );
71
72extern void DAQueueCallback( DACallbackRef callback, DADiskRef argument0, CFTypeRef argument1 );
73
74extern void DAQueueCallbacks( DASessionRef session, _DACallbackKind kind, DADiskRef argument0, CFTypeRef argument1 );
75
76extern void DAQueueReleaseDisk( DADiskRef disk );
77
78extern void DAQueueReleaseSession( DASessionRef session );
79
80extern void DAQueueRequest( DARequestRef request );
81
82extern void DAQueueUnregisterCallback( DACallbackRef callback );
83
84#ifdef __cplusplus
85}
86#endif /* __cplusplus */
87
88#endif /* !__DISKARBITRATIOND_DAQUEUE__ */
89