#ifndef __DISKARBITRATIOND_DAQUEUE__
#define __DISKARBITRATIOND_DAQUEUE__
#include <CoreFoundation/CoreFoundation.h>
#include "DADisk.h"
#include "DADissenter.h"
#include "DARequest.h"
#include "DASession.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef void ( *DAResponseCallback )( CFTypeRef response, void * context );
extern Boolean _DAResponseDispatch( CFTypeRef response, SInt32 responseID );
extern void DADiskAppearedCallback( DADiskRef disk );
extern void DADiskClaimReleaseCallback( DADiskRef disk, DACallbackRef callback, DAResponseCallback response, void * responseContext );
extern void DADiskDescriptionChangedCallback( DADiskRef disk, CFTypeRef key );
extern void DADiskDisappearedCallback( DADiskRef disk );
extern void DADiskEject( DADiskRef disk, DADiskEjectOptions options, DACallbackRef callback );
extern void DADiskEjectApprovalCallback( DADiskRef disk, DAResponseCallback response, void * responseContext );
extern void DADiskMount( DADiskRef disk, CFURLRef mountpoint, DADiskMountOptions options, DACallbackRef callback );
extern void DADiskMountApprovalCallback( DADiskRef disk, DAResponseCallback response, void * responseContext );
extern void DADiskMountWithArguments( DADiskRef disk, CFURLRef mountpoint, DADiskMountOptions options, DACallbackRef callback, CFStringRef arguments );
extern void DADiskPeekCallback( DADiskRef disk, DACallbackRef callback, DAResponseCallback response, void * responseContext );
extern void DADiskRefresh( DADiskRef disk, DACallbackRef callback );
extern void DADiskUnmount( DADiskRef disk, DADiskUnmountOptions options, DACallbackRef callback );
extern void DADiskUnmountApprovalCallback( DADiskRef disk, DAResponseCallback response, void * responseContext );
extern void DAIdleCallback( void );
extern void DAQueueCallback( DACallbackRef callback, DADiskRef argument0, CFTypeRef argument1 );
extern void DAQueueCallbacks( DASessionRef session, _DACallbackKind kind, DADiskRef argument0, CFTypeRef argument1 );
extern void DAQueueReleaseDisk( DADiskRef disk );
extern void DAQueueReleaseSession( DASessionRef session );
extern void DAQueueRequest( DARequestRef request );
#ifdef __cplusplus
}
#endif
#endif