Mercurial > projects > dstep
diff dstep/diskarbitration/DiskArbitration.d @ 11:07194b026fa4
Added bindings to a couple of frameworks, new license + some other things
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Sat, 01 Aug 2009 15:03:28 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dstep/diskarbitration/DiskArbitration.d Sat Aug 01 15:03:28 2009 +0200 @@ -0,0 +1,111 @@ +/** + * Copyright: Copyright (c) 2009 Jacob Carlborg. + * Authors: Jacob Carlborg + * Version: Initial created: Jul 21, 2009 + * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) + */ +module dstep.diskarbitration.DiskArbitration; + +public: + +import dstep.corefoundation.CoreFoundation; +import dstep.diskarbitration.DADisk; +import dstep.diskarbitration.DADissenter; +import dstep.diskarbitration.DASession; + +alias uint DADiskMountOptions; +alias uint DADiskRenameOptions; +alias uint DADiskUnmountOptions; +alias uint DADiskEjectOptions; +alias uint DADiskClaimOptions; +alias uint DADiskOptions; + +extern (C) +{ + alias void function (DADiskRef, DADissenterRef, void*) DADiskRenameCallback; + alias DADissenterRef function (DADiskRef, void*) DADiskMountApprovalCallback; + alias void function (DADiskRef, CFArrayRef, void*) DADiskDescriptionChangedCallback; + alias void function (DADiskRef, void*) DADiskAppearedCallback; + alias DADissenterRef function (DADiskRef, void*) DADiskEjectApprovalCallback; + alias void function (DADiskRef, void*) DADiskDisappearedCallback; + alias void function (DADiskRef, DADissenterRef, void*) DADiskUnmountCallback; + alias void function (DADiskRef, DADissenterRef, void*) DADiskMountCallback; + alias void function (DADiskRef, DADissenterRef, void*) DADiskClaimCallback; + alias DADissenterRef function (DADiskRef, void*) DADiskUnmountApprovalCallback; + alias void function (DADiskRef, void*) DADiskPeekCallback; + alias DADissenterRef function (DADiskRef, void*) DADiskClaimReleaseCallback; + alias void function (DADiskRef, DADissenterRef, void*) DADiskEjectCallback; +} + +extern (C) +{ + extern + { + CFDictionaryRef kDADiskDescriptionMatchMediaUnformatted; + CFDictionaryRef kDADiskDescriptionMatchMediaWhole; + CFDictionaryRef kDADiskDescriptionMatchVolumeMountable; + CFDictionaryRef kDADiskDescriptionMatchVolumeUnrecognized; + CFArrayRef kDADiskDescriptionWatchVolumeName; + CFArrayRef kDADiskDescriptionWatchVolumePath; + } +} + +enum +{ + kDADiskMountOptionDefault = 0x00000000, + kDADiskMountOptionWhole = 0x00000001 +} + +enum +{ + kDADiskRenameOptionDefault = 0x00000000 +} + +enum +{ + kDADiskUnmountOptionDefault = 0x00000000, + kDADiskUnmountOptionForce = 0x00080000, + kDADiskUnmountOptionWhole = 0x00000001 +} + +enum +{ + kDADiskEjectOptionDefault = 0x00000000 +} + +enum +{ + kDADiskClaimOptionDefault = 0x00000000 +} + +enum +{ + kDADiskOptionDefault = 0x00000000, + kDADiskOptionEjectUponLogout = 0x00000001, + kDADiskOptionMountAutomatic = 0x00000010, + kDADiskOptionMountAutomaticNoDefer = 0x00000020, + kDADiskOptionPrivate = 0x00000100 +} + +extern (C) +{ + void DARegisterDiskAppearedCallback (DASessionRef session, CFDictionaryRef match, DADiskAppearedCallback callback, void* context); + void DARegisterDiskDescriptionChangedCallback (DASessionRef session, CFDictionaryRef match, CFArrayRef watch, DADiskDescriptionChangedCallback callback, void* context); + void DARegisterDiskDisappearedCallback (DASessionRef session, CFDictionaryRef match, DADiskDisappearedCallback callback, void* context); + void DADiskMount (DADiskRef disk, CFURLRef path, uint options, DADiskMountCallback callback, void* context); + void DADiskMountWithArguments (DADiskRef disk, CFURLRef path, uint options, DADiskMountCallback callback, void* context, CFStringRef* arguments); + void DARegisterDiskMountApprovalCallback (DAApprovalSessionRef session, CFDictionaryRef match, DADiskMountApprovalCallback callback, void* context); + void DADiskRename (DADiskRef disk, CFStringRef name, uint options, DADiskRenameCallback callback, void* context); + void DADiskUnmount (DADiskRef disk, uint options, DADiskUnmountCallback callback, void* context); + void DARegisterDiskUnmountApprovalCallback (DAApprovalSessionRef session, CFDictionaryRef match, DADiskUnmountApprovalCallback callback, void* context); + void DADiskEject (DADiskRef disk, uint options, DADiskEjectCallback callback, void* context); + void DARegisterDiskEjectApprovalCallback (DAApprovalSessionRef session, CFDictionaryRef match, DADiskEjectApprovalCallback callback, void* context); + void DADiskClaim (DADiskRef disk, uint options, DADiskClaimReleaseCallback release, void* releaseContext, DADiskClaimCallback callback, void* callbackContext); + ubyte DADiskIsClaimed (DADiskRef disk); + void DADiskUnclaim (DADiskRef disk); + void DARegisterDiskPeekCallback (DASessionRef session, CFDictionaryRef match, int order, DADiskPeekCallback callback, void* context); + uint DADiskGetOptions (DADiskRef disk); + int DADiskSetOptions (DADiskRef disk, uint options, ubyte value); + void DAUnregisterCallback (DASessionRef session, void* callback, void* context); + void DAUnregisterApprovalCallback (DAApprovalSessionRef session, void* callback, void* context); +} \ No newline at end of file