1 /*
2  * Copyright 2006 Sony Computer Entertainment Inc.
3  *
4  * Licensed under the MIT Open Source License, for details please see license.txt or the website
5  * http://www.opensource.org/licenses/mit-license.php
6  *
7  */
8 
9 #ifndef __DAE_TYPES_H__
10 #define __DAE_TYPES_H__
11 
12 #include <dae/daePlatform.h>
13 #include <sys/types.h>
14 #include <stdio.h>
15 #include <stdlib.h>
16 #include <assert.h>
17 #include <wchar.h>
18 #include <string.h>
19 
20 #include <dae/daeError.h>
21 
22 #define daeOffsetOf(class, member) \
23     ((size_t)&(((class *) 0x0100)->member) - (size_t)0x0100)
24 
25 typedef PLATFORM_INT8 daeChar;
26 typedef PLATFORM_INT16 daeShort;
27 typedef PLATFORM_INT32 daeInt;
28 typedef PLATFORM_INT64 daeLong;
29 typedef PLATFORM_UINT8 daeUChar;
30 typedef PLATFORM_UINT16 daeUShort;
31 typedef PLATFORM_UINT32 daeUInt;
32 typedef PLATFORM_UINT64 daeULong;
33 #ifdef COLLADA_DOM_DAEFLOAT_IS64
34 typedef PLATFORM_FLOAT64 daeFloat;
35 #else
36 typedef PLATFORM_FLOAT32 daeFloat;
37 #endif
38 typedef PLATFORM_FLOAT64 daeDouble;
39 
40 // base types
41 
42 typedef const char*         daeString;
43 typedef bool daeBool;
44 typedef const void*         daeConstRawRef;
45 typedef void*               daeRawRef;
46 typedef daeInt daeEnum;
47 typedef daeChar*            daeMemoryRef;
48 
49 typedef daeChar daeFixedName[512];
50 
51 #include <dae/daeArray.h>
52 #include <dae/daeArrayTypes.h>
53 
54 #if defined(COLLADA_DOM_SUPPORT150)
55 namespace ColladaDOM150 {}
56 #endif
57 #if defined(COLLADA_DOM_SUPPORT141)
58 namespace ColladaDOM141 {}
59 #endif
60 
61 #if defined(COLLADA_DOM_USING_150)
62 using namespace ColladaDOM150;
63 #elif defined(COLLADA_DOM_USING_141)
64 using namespace ColladaDOM141;
65 #elif !defined(COLLADA_DOM_NAMESPACE)
66 
67 // find the highest version namespace
68 #if defined(COLLADA_DOM_SUPPORT150)
69 using namespace ColladaDOM150;
70 #elif defined(COLLADA_DOM_SUPPORT141)
71 using namespace ColladaDOM141;
72 #endif
73 
74 #endif
75 
76 #endif //__DAE_TYPES_H__
77