]> Creatis software - creaImageIO.git/blob - src/creaImageIOSystem.h
1ecda73231d63e9f6e86786d44fdb75ba6b494c2
[creaImageIO.git] / src / creaImageIOSystem.h
1 #ifndef __creaImageIOSystem_INCLUDED__
2 #define __creaImageIOSystem_INCLUDED__
3
4 #include "creaMessageManager.h"
5
6
7
8 #if defined(_WIN32)
9
10   #ifdef CREAIMAGEIO_EXPORT_SYMBOLS
11     #define CREAIMAGEIO_EXPORT __declspec( dllexport )
12 #else
13     #define CREAIMAGEIO_EXPORT __declspec( dllimport )
14   #endif
15   #define CREAIMAGEIO_CDECL __cdecl
16 #else
17   #define CREAIMAGEIO_EXPORT
18   #define CREAIMAGEIO_CDECL
19 #endif // defined(_WIN32)
20
21
22 namespace creaImageIO
23 {
24   //==============================================================
25   inline void RegisterGimmickMessageTypes()
26   {
27     static bool first_time = true;
28     if (first_time)
29       {
30         crea::MessageManager::RegisterMessageType("Gimmick!",
31                                                   "Gimmick",1);
32         crea::MessageManager::RegisterMessageType("Gimmick! DEBUG",
33                                                   "Gimmick",0);
34         first_time = false;
35       }
36   }
37   //==============================================================
38   inline void SetGimmickMessageLevel(int l)
39   {
40     RegisterGimmickMessageTypes();                      
41     crea::MessageManager::SetMessageLevel("Gimmick!",l);
42   }
43   //==============================================================
44   inline void SetGimmickDebugMessageLevel(int l)                
45   {
46     RegisterGimmickMessageTypes();                      
47     crea::MessageManager::SetMessageLevel("Gimmick! DEBUG",l);
48   }
49   //==============================================================
50   
51         inline void deleteGimmickDebugMessage()
52         {
53                 delete crea::MessageManager::GetInstance();
54         }
55   
56
57 #define GimmickMessage(LEV,MESS)                        \
58   creaMessage("Gimmick!",LEV,"[Gimmick!] "<<MESS);
59 #define GimmickDebugMessage(LEV,MESS)                                   \
60   creaDebugMessage("Gimmick! DEBUG",LEV,"[Gimmick!] DEBUG: "<<MESS);
61 #define GimmickError(MESS)                      \
62   creaError("[Gimmick!] "<<MESS);
63
64 } // namespace
65
66 #endif
67