Mercurial > projects > dstep
view 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 source
/** * 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); }