diff dstep/coreservices/carboncore/Collections.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/Collections.d	Sat Aug 01 15:03:28 2009 +0200
@@ -0,0 +1,209 @@
+/**
+ * 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.Collections;
+
+//import dstep.AvailabilityMacros;
+import dstep.coreservices.carboncore.MacTypes;
+import dstep.coreservices.carboncore.MixedMode;
+import dstep.internal.Types;
+import dstep.internal.Version;
+
+struct OpaqueCollection;
+alias OpaqueCollection* Collection;
+alias uint CollectionTag;
+alias CollectionFlattenProcPtr CollectionFlattenUPP;
+alias CollectionExceptionProcPtr CollectionExceptionUPP;
+
+extern (C)
+{
+	alias short function (Collection, short) CollectionExceptionProcPtr;
+	alias short function (int, void*, void*) CollectionFlattenProcPtr;
+}
+
+enum
+{
+	kCollectionDontWantTag = 0L,
+	kCollectionDontWantId = 0L,
+	kCollectionDontWantSize = 0L,
+	kCollectionDontWantAttributes = 0L,
+	kCollectionDontWantIndex = 0L,
+	kCollectionDontWantData = 0L
+}
+
+enum
+{
+	kCollectionNoAttributes = 0x00000000,
+	kCollectionAllAttributes = cast(c_long)0xFFFFFFFF,
+	kCollectionUserAttributes = 0x0000FFFF,
+	kCollectionDefaultAttributes = 0x40000000
+}
+
+enum
+{
+	kCollectionUser0Bit = 0,
+	kCollectionUser1Bit = 1,
+	kCollectionUser2Bit = 2,
+	kCollectionUser3Bit = 3,
+	kCollectionUser4Bit = 4,
+	kCollectionUser5Bit = 5,
+	kCollectionUser6Bit = 6,
+	kCollectionUser7Bit = 7,
+	kCollectionUser8Bit = 8,
+	kCollectionUser9Bit = 9,
+	kCollectionUser10Bit = 10,
+	kCollectionUser11Bit = 11,
+	kCollectionUser12Bit = 12,
+	kCollectionUser13Bit = 13,
+	kCollectionUser14Bit = 14,
+	kCollectionUser15Bit = 15,
+	kCollectionReserved0Bit = 16,
+	kCollectionReserved1Bit = 17,
+	kCollectionReserved2Bit = 18,
+	kCollectionReserved3Bit = 19,
+	kCollectionReserved4Bit = 20,
+	kCollectionReserved5Bit = 21,
+	kCollectionReserved6Bit = 22,
+	kCollectionReserved7Bit = 23,
+	kCollectionReserved8Bit = 24,
+	kCollectionReserved9Bit = 25,
+	kCollectionReserved10Bit = 26,
+	kCollectionReserved11Bit = 27,
+	kCollectionReserved12Bit = 28,
+	kCollectionReserved13Bit = 29,
+	kCollectionPersistenceBit = 30,
+	kCollectionLockBit = 31
+}
+
+static if (D_LP64)
+{
+	enum : long
+	{
+		kCollectionUser0Mask = 1L << kCollectionUser0Bit,
+		kCollectionUser1Mask = 1L << kCollectionUser1Bit,
+		kCollectionUser2Mask = 1L << kCollectionUser2Bit,
+		kCollectionUser3Mask = 1L << kCollectionUser3Bit,
+		kCollectionUser4Mask = 1L << kCollectionUser4Bit,
+		kCollectionUser5Mask = 1L << kCollectionUser5Bit,
+		kCollectionUser6Mask = 1L << kCollectionUser6Bit,
+		kCollectionUser7Mask = 1L << kCollectionUser7Bit,
+		kCollectionUser8Mask = 1L << kCollectionUser8Bit,
+		kCollectionUser9Mask = 1L << kCollectionUser9Bit,
+		kCollectionUser10Mask = 1L << kCollectionUser10Bit,
+		kCollectionUser11Mask = 1L << kCollectionUser11Bit,
+		kCollectionUser12Mask = 1L << kCollectionUser12Bit,
+		kCollectionUser13Mask = 1L << kCollectionUser13Bit,
+		kCollectionUser14Mask = 1L << kCollectionUser14Bit,
+		kCollectionUser15Mask = 1L << kCollectionUser15Bit,
+		kCollectionReserved0Mask = 1L << kCollectionReserved0Bit,
+		kCollectionReserved1Mask = 1L << kCollectionReserved1Bit,
+		kCollectionReserved2Mask = 1L << kCollectionReserved2Bit,
+		kCollectionReserved3Mask = 1L << kCollectionReserved3Bit,
+		kCollectionReserved4Mask = 1L << kCollectionReserved4Bit,
+		kCollectionReserved5Mask = 1L << kCollectionReserved5Bit,
+		kCollectionReserved6Mask = 1L << kCollectionReserved6Bit,
+		kCollectionReserved7Mask = 1L << kCollectionReserved7Bit,
+		kCollectionReserved8Mask = 1L << kCollectionReserved8Bit,
+		kCollectionReserved9Mask = 1L << kCollectionReserved9Bit,
+		kCollectionReserved10Mask = 1L << kCollectionReserved10Bit,
+		kCollectionReserved11Mask = 1L << kCollectionReserved11Bit,
+		kCollectionReserved12Mask = 1L << kCollectionReserved12Bit,
+		kCollectionReserved13Mask = 1L << kCollectionReserved13Bit,
+		kCollectionPersistenceMask = 1L << kCollectionPersistenceBit,
+		kCollectionLockMask = 1L << kCollectionLockBit
+	}
+}
+
+else
+{
+	enum
+	{
+		kCollectionUser0Mask = 1 << kCollectionUser0Bit,
+		kCollectionUser1Mask = 1 << kCollectionUser1Bit,
+		kCollectionUser2Mask = 1 << kCollectionUser2Bit,
+		kCollectionUser3Mask = 1 << kCollectionUser3Bit,
+		kCollectionUser4Mask = 1 << kCollectionUser4Bit,
+		kCollectionUser5Mask = 1 << kCollectionUser5Bit,
+		kCollectionUser6Mask = 1 << kCollectionUser6Bit,
+		kCollectionUser7Mask = 1 << kCollectionUser7Bit,
+		kCollectionUser8Mask = 1 << kCollectionUser8Bit,
+		kCollectionUser9Mask = 1 << kCollectionUser9Bit,
+		kCollectionUser10Mask = 1 << kCollectionUser10Bit,
+		kCollectionUser11Mask = 1 << kCollectionUser11Bit,
+		kCollectionUser12Mask = 1 << kCollectionUser12Bit,
+		kCollectionUser13Mask = 1 << kCollectionUser13Bit,
+		kCollectionUser14Mask = 1 << kCollectionUser14Bit,
+		kCollectionUser15Mask = 1 << kCollectionUser15Bit,
+		kCollectionReserved0Mask = 1 << kCollectionReserved0Bit,
+		kCollectionReserved1Mask = 1 << kCollectionReserved1Bit,
+		kCollectionReserved2Mask = 1 << kCollectionReserved2Bit,
+		kCollectionReserved3Mask = 1 << kCollectionReserved3Bit,
+		kCollectionReserved4Mask = 1 << kCollectionReserved4Bit,
+		kCollectionReserved5Mask = 1 << kCollectionReserved5Bit,
+		kCollectionReserved6Mask = 1 << kCollectionReserved6Bit,
+		kCollectionReserved7Mask = 1 << kCollectionReserved7Bit,
+		kCollectionReserved8Mask = 1 << kCollectionReserved8Bit,
+		kCollectionReserved9Mask = 1 << kCollectionReserved9Bit,
+		kCollectionReserved10Mask = 1 << kCollectionReserved10Bit,
+		kCollectionReserved11Mask = 1 << kCollectionReserved11Bit,
+		kCollectionReserved12Mask = 1 << kCollectionReserved12Bit,
+		kCollectionReserved13Mask = 1 << kCollectionReserved13Bit,
+		kCollectionPersistenceMask = 1 << kCollectionPersistenceBit,
+		kCollectionLockMask = 1 << kCollectionLockBit
+	}
+}
+
+extern (C)
+{
+	CollectionFlattenUPP NewCollectionFlattenUPP (CollectionFlattenProcPtr userRoutine);
+	CollectionExceptionUPP NewCollectionExceptionUPP (CollectionExceptionProcPtr userRoutine);
+	void DisposeCollectionFlattenUPP (CollectionFlattenUPP userUPP);
+	void DisposeCollectionExceptionUPP (CollectionExceptionUPP userUPP);
+	short InvokeCollectionFlattenUPP (int size, void* data, void* refCon, CollectionFlattenUPP userUPP);
+	short InvokeCollectionExceptionUPP (Collection c, short status, CollectionExceptionUPP userUPP);
+	Collection NewCollection ();
+	void DisposeCollection (Collection c);
+	Collection CloneCollection (Collection c);
+	int CountCollectionOwners (Collection c);
+	int RetainCollection (Collection c);
+	int ReleaseCollection (Collection c);
+	uint GetCollectionRetainCount (Collection c);
+	Collection CopyCollection (Collection srcCollection, Collection dstCollection);
+	int GetCollectionDefaultAttributes (Collection c);
+	void SetCollectionDefaultAttributes (Collection c, int whichAttributes, int newAttributes);
+	int CountCollectionItems (Collection c);
+	short AddCollectionItem (Collection c, uint tag, int id, int itemSize, void* itemData);
+	short GetCollectionItem (Collection c, uint tag, int id, SInt32* itemSize, void* itemData);
+	short RemoveCollectionItem (Collection c, uint tag, int id);
+	short SetCollectionItemInfo (Collection c, uint tag, int id, int whichAttributes, int newAttributes);
+	short GetCollectionItemInfo (Collection c, uint tag, int id, SInt32* itemIndex, SInt32* itemSize, SInt32* attributes);
+	short ReplaceIndexedCollectionItem (Collection c, int itemIndex, int itemSize, void* itemData);
+	short GetIndexedCollectionItem (Collection c, int itemIndex, SInt32* itemSize, void* itemData);
+	short RemoveIndexedCollectionItem (Collection c, int itemIndex);
+	short SetIndexedCollectionItemInfo (Collection c, int itemIndex, int whichAttributes, int newAttributes);
+	short GetIndexedCollectionItemInfo (Collection c, int itemIndex, CollectionTag* tag, SInt32* id, SInt32* itemSize, SInt32* attributes);
+	ubyte CollectionTagExists (Collection c, uint tag);
+	int CountCollectionTags (Collection c);
+	short GetIndexedCollectionTag (Collection c, int tagIndex, CollectionTag* tag);
+	int CountTaggedCollectionItems (Collection c, uint tag);
+	short GetTaggedCollectionItem (Collection c, uint tag, int whichItem, SInt32* itemSize, void* itemData);
+	short GetTaggedCollectionItemInfo (Collection c, uint tag, int whichItem, SInt32* id, SInt32* itemIndex, SInt32* itemSize, SInt32* attributes);
+	void PurgeCollection (Collection c, int whichAttributes, int matchingAttributes);
+	void PurgeCollectionTag (Collection c, uint tag);
+	void EmptyCollection (Collection c);
+	short FlattenCollection (Collection c, CollectionFlattenUPP flattenProc, void* refCon);
+	short FlattenPartialCollection (Collection c, CollectionFlattenUPP flattenProc, void* refCon, int whichAttributes, int matchingAttributes);
+	short UnflattenCollection (Collection c, CollectionFlattenUPP flattenProc, void* refCon);
+	CollectionExceptionUPP GetCollectionExceptionProc (Collection c);
+	void SetCollectionExceptionProc (Collection c, CollectionExceptionUPP exceptionProc);
+	Collection GetNewCollection (short collectionID);
+	short AddCollectionItemHdl (Collection aCollection, uint tag, int id, Handle itemData);
+	short GetCollectionItemHdl (Collection aCollection, uint tag, int id, Handle itemData);
+	short ReplaceIndexedCollectionItemHdl (Collection aCollection, int itemIndex, Handle itemData);
+	short GetIndexedCollectionItemHdl (Collection aCollection, int itemIndex, Handle itemData);
+	short FlattenCollectionToHdl (Collection aCollection, Handle flattened);
+	short UnflattenCollectionFromHdl (Collection aCollection, Handle flattened);
+}
\ No newline at end of file