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