diff dstep/coreservices/carboncore/MacLocales.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/carboncore/MacLocales.d	Sat Aug 01 15:03:28 2009 +0200
@@ -0,0 +1,59 @@
+/**
+ * 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.coreservices.carboncore.MacLocales;
+
+//import dstep.AvailabilityMacros;
+import dstep.coreservices.carboncore.MacErrors;
+import dstep.coreservices.carboncore.MacTypes;
+
+struct OpaqueLocaleRef;
+
+alias OpaqueLocaleRef* LocaleRef;
+alias uint LocalePartMask;
+alias uint LocaleOperationClass;
+alias uint LocaleOperationVariant;
+alias uint LocaleNameMask;
+
+enum
+{
+	kLocaleLanguageMask = 1L << 0,
+	kLocaleLanguageVariantMask = 1L << 1,
+	kLocaleScriptMask = 1L << 2,
+	kLocaleScriptVariantMask = 1L << 3,
+	kLocaleRegionMask = 1L << 4,
+	kLocaleRegionVariantMask = 1L << 5,
+	kLocaleAllPartsMask = 0x0000003F
+}
+
+enum
+{
+	kLocaleNameMask = 1L << 0,
+	kLocaleOperationVariantNameMask = 1L << 1,
+	kLocaleAndVariantNameMask = 0x00000003
+}
+
+struct LocaleAndVariant
+{
+	LocaleRef locale;
+	uint opVariant;
+}
+
+extern (C)
+{
+	int LocaleRefFromLangOrRegionCode (short lang, short region, LocaleRef* locale);
+	int LocaleRefFromLocaleString (char* localeString, LocaleRef* locale);
+	int LocaleRefGetPartString (LocaleRef locale, uint partMask, uint maxStringLen, char* partString);
+	int LocaleStringToLangAndRegionCodes (char* localeString, LangCode* lang, RegionCode* region);
+	int LocaleOperationCountLocales (uint opClass, ItemCount* localeCount);
+	int LocaleOperationGetLocales (uint opClass, uint maxLocaleCount, ItemCount* actualLocaleCount, LocaleAndVariant* localeVariantList);
+	int LocaleGetName (LocaleRef locale, uint opVariant, uint nameMask, LocaleRef displayLocale, uint maxNameLen, UniCharCount* actualNameLen, wchar* displayName);
+	int LocaleCountNames (LocaleRef locale, uint opVariant, uint nameMask, ItemCount* nameCount);
+	int LocaleGetIndName (LocaleRef locale, uint opVariant, uint nameMask, uint nameIndex, uint maxNameLen, UniCharCount* actualNameLen, wchar* displayName, LocaleRef* displayLocale);
+	int LocaleOperationGetName (uint opClass, LocaleRef displayLocale, uint maxNameLen, UniCharCount* actualNameLen, wchar* displayName);
+	int LocaleOperationCountNames (uint opClass, ItemCount* nameCount);
+	int LocaleOperationGetIndName (uint opClass, uint nameIndex, uint maxNameLen, UniCharCount* actualNameLen, wchar* displayName, LocaleRef* displayLocale);
+}
\ No newline at end of file