global.h
1 #ifndef __GLOBAL_H__
2 #define __GLOBAL_H__
3 
4 #include <QtGlobal>
5 #include <QThread>
6 
7 static inline quint32 READINT32(const char *pointer)
8 {
9  return ((quint32((quint8)(*pointer))) | (quint32(quint8(*(pointer+1)))<<8) | (quint32(quint8(*(pointer+2)))<<16) | (quint32(quint8(*(pointer+3)))<<24));
10 }
11 static inline quint16 READINT16(const char *pointer)
12 {
13  return ((quint16((quint8)(*pointer))) | (quint16(quint8(*(pointer+1)))<<8));
14 }
15 static inline quint16 READBIGINT16(const char *pointer)
16 {
17  return ((quint16((quint8)(*pointer))<<8) | (quint16(quint8(*(pointer+1)))));
18 }
19 static inline quint8 READINT8(const char *pointer)
20 {
21  return quint8(*pointer);
22 }
23 
24 #define WRITEINT8_DIRECT(type,integer) (type)(quint8)((integer)&0xFF)
25 #define WRITEINT16_DIRECT(type,integer) WRITEINT8_DIRECT(type,integer),WRITEINT8_DIRECT(type,integer>>8)
26 #define WRITEINT32_DIRECT(type,integer) WRITEINT8_DIRECT(type,integer),WRITEINT8_DIRECT(type,integer>>8),WRITEINT8_DIRECT(type,integer>>16),WRITEINT8_DIRECT(type,integer>>24)
27 
28 static inline void WRITEINT32(char *pointer, const quint32 integer)
29 {
30  *pointer = (quint8)(integer&0xFF);
31  *(pointer+1) = (quint8)((integer>>8)&0xFF);
32  *(pointer+2) = (quint8)((integer>>16)&0xFF);
33  *(pointer+3) = (quint8)((integer>>24)&0xFF);
34 }
35 static inline void WRITEINT16(char *pointer, const quint16 integer)
36 {
37  *pointer = (quint8)(integer&0xFF);
38  *(pointer+1) = (quint8)((integer>>8)&0xFF);
39 }
40 static inline void WRITEINT8(char *pointer, const quint8 integer)
41 {
42  *pointer = (quint8)(integer&0xFF);
43 }
44 
45 static inline quint32 MAKEID(quint8 a, quint8 b, quint8 c, quint8 d)
46 {
47  return (quint32(a)|(quint32(b)<<8)|(quint32(c)<<16)|(quint32(d)<<24));
48 }
49 
50 // Now we set it up so symbols are properly exported/imported on Windows
51 #ifdef Q_OS_WIN32
52 #ifdef MODE_MAIN
53 #define MAIN_EXPORT __declspec(dllexport)
54 #define PLUGIN_EXPORT __declspec(dllimport)
55 #else
56 #define MAIN_EXPORT __declspec(dllimport)
57 #define PLUGIN_EXPORT __declspec(dllexport)
58 #endif
59 #else
60 #define MAIN_EXPORT
61 #define PLUGIN_EXPORT
62 #endif
63 
64 class Sleep : private QThread
65 {
66 public:
67  static void sleep(int time)
68  {
69  QThread::sleep(time);
70  }
71 };
72 
73 #endif /* __GLOBAL_H__ */
Definition: global.h:64