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