diff dstep/coreservices/launchservices/LSInfo.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/coreservices/launchservices/LSInfo.d	Sat Aug 01 15:03:28 2009 +0200
@@ -0,0 +1,176 @@
+/**
+ * Copyright: Copyright (c) 2009 Jacob Carlborg.
+ * Authors: Jacob Carlborg
+ * Version: Initial created: Jul 22, 2009 
+ * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
+ */
+module dstep.coreservices.launchservices.LSInfo;
+
+//import dstep.AvailabilityMacros;
+import dstep.coreservices.carboncore.CarbonCore;
+import dstep.corefoundation.CoreFoundation;
+
+alias uint LSInitializeFlags;
+alias uint LSRequestedInfo;
+alias uint LSItemInfoFlags;
+alias uint LSRolesMask;
+alias uint LSAcceptanceFlags;
+alias uint LSHandlerOptions;
+
+extern (C)
+{
+	extern
+	{
+		const CFStringRef kLSItemContentType;
+		const CFStringRef kLSItemFileType;
+		const CFStringRef kLSItemFileCreator;
+		const CFStringRef kLSItemExtension;
+		const CFStringRef kLSItemDisplayName;
+		const CFStringRef kLSItemDisplayKind;
+		const CFStringRef kLSItemRoleHandlerDisplayName;
+		const CFStringRef kLSItemIsInvisible;
+		const CFStringRef kLSItemExtensionIsHidden;
+		const CFStringRef kLSItemQuarantineProperties;
+	}
+}
+
+enum
+{
+	kLSAppInTrashErr = -10660,
+	kLSExecutableIncorrectFormat = -10661,
+	kLSAttributeNotFoundErr = -10662,
+	kLSAttributeNotSettableErr = -10663,
+	kLSUnknownErr = -10810,
+	kLSNotAnApplicationErr = -10811,
+	kLSNotInitializedErr = -10812,
+	kLSDataUnavailableErr = -10813,
+	kLSApplicationNotFoundErr = -10814,
+	kLSUnknownTypeErr = -10815,
+	kLSDataTooOldErr = -10816,
+	kLSDataErr = -10817,
+	kLSLaunchInProgressErr = -10818,
+	kLSNotRegisteredErr = -10819,
+	kLSAppDoesNotClaimTypeErr = -10820,
+	kLSAppDoesNotSupportSchemeWarning = -10821,
+	kLSServerCommunicationErr = -10822,
+	kLSCannotSetInfoErr = -10823,
+	kLSNoRegistrationInfoErr = -10824,
+	kLSIncompatibleSystemVersionErr = -10825,
+	kLSNoLaunchPermissionErr = -10826,
+	kLSNoExecutableErr = -10827,
+	kLSNoClassicEnvironmentErr = -10828,
+	kLSMultipleSessionsNotSupportedErr = -10829
+}
+
+enum
+{
+	kLSInitializeDefaults = 0x00000001
+}
+
+enum
+{
+	kLSMinCatInfoBitmap = (kFSCatInfoNodeFlags | kFSCatInfoParentDirID | kFSCatInfoFinderInfo | kFSCatInfoFinderXInfo)
+}
+
+enum
+{
+	kLSRequestExtension = 0x00000001,
+	kLSRequestTypeCreator = 0x00000002,
+	kLSRequestBasicFlagsOnly = 0x00000004,
+	kLSRequestAppTypeFlags = 0x00000008,
+	kLSRequestAllFlags = 0x00000010,
+	kLSRequestIconAndKind = 0x00000020,
+	kLSRequestExtensionFlagsOnly = 0x00000040,
+	kLSRequestAllInfo = cast(uint)0xFFFFFFFF
+}
+
+enum
+{
+	kLSItemInfoIsPlainFile = 0x00000001,
+	kLSItemInfoIsPackage = 0x00000002,
+	kLSItemInfoIsApplication = 0x00000004,
+	kLSItemInfoIsContainer = 0x00000008,
+	kLSItemInfoIsAliasFile = 0x00000010,
+	kLSItemInfoIsSymlink = 0x00000020,
+	kLSItemInfoIsInvisible = 0x00000040,
+	kLSItemInfoIsNativeApp = 0x00000080,
+	kLSItemInfoIsClassicApp = 0x00000100,
+	kLSItemInfoAppPrefersNative = 0x00000200,
+	kLSItemInfoAppPrefersClassic = 0x00000400,
+	kLSItemInfoAppIsScriptable = 0x00000800,
+	kLSItemInfoIsVolume = 0x00001000,
+	kLSItemInfoExtensionIsHidden = 0x00100000
+}
+
+enum
+{
+	kLSRolesNone = 0x00000001,
+	kLSRolesViewer = 0x00000002,
+	kLSRolesEditor = 0x00000004,
+	kLSRolesShell = 0x00000008,
+	kLSRolesAll = cast(uint)0xFFFFFFFF
+}
+
+enum
+{
+	kLSUnknownType = 0,
+	kLSUnknownCreator = 0
+}
+
+enum
+{
+	kLSAcceptDefault = 0x00000001,
+	kLSAcceptAllowLoginUI = 0x00000002
+}
+
+enum
+{
+	kLSHandlerOptionsDefault = 0,
+	kLSHandlerOptionsIgnoreCreator = 1
+}
+
+struct LSItemInfoRecord
+{
+	uint flags;
+	uint filetype;
+	uint creator;
+	CFStringRef extension;
+}
+
+extern (C)
+{
+	int LSInit (uint inFlags);
+	int LSTerm ();
+	int LSCopyItemInfoForRef (FSRef* inItemRef, uint inWhichInfo, LSItemInfoRecord* outItemInfo);
+	int LSCopyItemInfoForURL (CFURLRef inURL, uint inWhichInfo, LSItemInfoRecord* outItemInfo);
+	int LSGetExtensionInfo (uint inNameLen, wchar* inNameBuffer, UniCharCount* outExtStartIndex);
+	int LSCopyDisplayNameForRef (FSRef* inRef, CFStringRef* outDisplayName);
+	int LSCopyDisplayNameForURL (CFURLRef inURL, CFStringRef* outDisplayName);
+	int LSSetExtensionHiddenForRef (FSRef* inRef, ubyte inHide);
+	int LSSetExtensionHiddenForURL (CFURLRef inURL, ubyte inHide);
+	int LSCopyKindStringForRef (FSRef* inFSRef, CFStringRef* outKindString);
+	int LSCopyKindStringForURL (CFURLRef inURL, CFStringRef* outKindString);
+	int LSCopyKindStringForTypeInfo (uint inType, uint inCreator, CFStringRef inExtension, CFStringRef* outKindString);
+	int LSCopyKindStringForMIMEType (CFStringRef inMIMEType, CFStringRef* outKindString);
+	int LSGetApplicationForItem (FSRef* inItemRef, uint inRoleMask, FSRef* outAppRef, CFURLRef* outAppURL);
+	int LSGetApplicationForInfo (uint inType, uint inCreator, CFStringRef inExtension, uint inRoleMask, FSRef* outAppRef, CFURLRef* outAppURL);
+	int LSCopyApplicationForMIMEType (CFStringRef inMIMEType, uint inRoleMask, CFURLRef* outAppURL);
+	int LSGetApplicationForURL (CFURLRef inURL, uint inRoleMask, FSRef* outAppRef, CFURLRef* outAppURL);
+	int LSFindApplicationForInfo (uint inCreator, CFStringRef inBundleID, CFStringRef inName, FSRef* outAppRef, CFURLRef* outAppURL);
+	int LSCanRefAcceptItem (FSRef* inItemFSRef, FSRef* inTargetRef, uint inRoleMask, uint inFlags, char* outAcceptsItem);
+	int LSCanURLAcceptURL (CFURLRef inItemURL, CFURLRef inTargetURL, uint inRoleMask, uint inFlags, char* outAcceptsItem);
+	int LSRegisterURL (CFURLRef inURL, ubyte inUpdate);
+	int LSRegisterFSRef (FSRef* inRef, ubyte inUpdate);
+	CFArrayRef LSCopyApplicationURLsForURL (CFURLRef inURL, uint inRoleMask);
+	int LSCopyItemAttribute (FSRef* inItem, uint inRoles, CFStringRef inAttributeName, CFTypeRef* outValue);
+	int LSCopyItemAttributes (FSRef* inItem, uint inRoles, CFArrayRef inAttributeNames, CFDictionaryRef* outValues);
+	int LSSetItemAttribute (FSRef* inItem, uint inRoles, CFStringRef inAttributeName, CFTypeRef inValue);
+	CFStringRef LSCopyDefaultRoleHandlerForContentType (CFStringRef inContentType, uint inRole);
+	CFArrayRef LSCopyAllRoleHandlersForContentType (CFStringRef inContentType, uint inRole);
+	int LSSetDefaultRoleHandlerForContentType (CFStringRef inContentType, uint inRole, CFStringRef inHandlerBundleID);
+	uint LSGetHandlerOptionsForContentType (CFStringRef inContentType);
+	int LSSetHandlerOptionsForContentType (CFStringRef inContentType, uint inOptions);
+	CFStringRef LSCopyDefaultHandlerForURLScheme (CFStringRef inURLScheme);
+	CFArrayRef LSCopyAllHandlersForURLScheme (CFStringRef inURLScheme);
+	int LSSetDefaultHandlerForURLScheme (CFStringRef inURLScheme, CFStringRef inHandlerBundleID);
+}
\ No newline at end of file