9 #ifndef __PDG_EVENT_TYPES_H__
10 #define __PDG_EVENT_TYPES_H__
14 #define PDG_EVENT_QUEUE_DEBUG 0
16 #if PDG_EVENT_QUEUE_DEBUG
18 #include <hboost/preprocessor/variadic/to_list.hpp>
19 #include <hboost/preprocessor/list/for_each.hpp>
21 #define CREATE_EVENT_STRING(r, data, event) \
22 case event: return #event;
24 #define CREATE_ENUM(...) enum PDG_EventType { __VA_ARGS__ };
25 #define CREATE_STRINGS(...) \
26 HBOOST_PP_LIST_FOR_EACH(CREATE_EVENT_STRING, _,\
27 HBOOST_PP_VARIADIC_TO_LIST(__VA_ARGS__))
29 #define PDG_EVENT_BUILD_ENUM(...) \
30 CREATE_ENUM(__VA_ARGS__)\
31 inline const char* pdg_getEventString(PDG_EventType event) \
35 CREATE_STRINGS(__VA_ARGS__)\
37 return "Unkown event";\
41 #define PDG_EVENT_BUILD_ENUM(...) enum PDG_EventType { __VA_ARGS__};
46 PDG_EVENT_WORKITEM_ADD,
47 PDG_EVENT_WORKITEM_REMOVE,
48 PDG_EVENT_WORKITEM_STATE_CHANGE,
49 PDG_EVENT_WORKITEM_COOK_PERCENT_UPDATE,
51 PDG_EVENT_WORKITEM_ADD_DEP,
52 PDG_EVENT_WORKITEM_REMOVE_DEP,
54 PDG_EVENT_WORKITEM_ADD_PARENT,
55 PDG_EVENT_WORKITEM_REMOVE_PARENT,
60 PDG_EVENT_COOK_WARNING,
62 PDG_EVENT_COOK_COMPLETE,
64 PDG_EVENT_DIRTY_START,
71 PDG_EVENT_NODE_CREATE,
72 PDG_EVENT_NODE_REMOVE,
73 PDG_EVENT_NODE_RENAME,
74 PDG_EVENT_NODE_CONNECT,
75 PDG_EVENT_NODE_DISCONNECT,
76 PDG_EVENT_NODE_FIRST_COOK,
78 PDG_EVENT_NODE_GENERATED,
79 PDG_EVENT_NODE_COOKED,
81 PDG_EVENT_WORKITEM_SET_INT,
82 PDG_EVENT_WORKITEM_SET_FLOAT,
83 PDG_EVENT_WORKITEM_SET_STRING,
84 PDG_EVENT_WORKITEM_SET_FILE,
85 PDG_EVENT_WORKITEM_SET_PYOBJECT,
86 PDG_EVENT_WORKITEM_SET_GEOMETRY,
87 PDG_EVENT_WORKITEM_MERGE,
88 PDG_EVENT_WORKITEM_OUTPUT_FILES,
90 PDG_EVENT_WORKITEM_PRIORITY,
94 PDG_EVENT_WORKITEM_ADD_STATIC_ANCESTOR,
95 PDG_EVENT_WORKITEM_REMOVE_STATIC_ANCESTOR,
97 PDG_EVENT_NODE_PROGRESS_UPDATE,
99 PDG_EVENT_BATCH_ITEM_INITIALIZED,
104 PDG_EVENT_SCHEDULER_ADDED,
105 PDG_EVENT_SCHEDULER_REMOVED,
106 PDG_EVENT_SET_SCHEDULER,
108 PDG_EVENT_SERVICE_MANAGER_ALL,
109 PDG_EVENT_SERVICE_START_BEGIN,
110 PDG_EVENT_SERVICE_START_END,
112 PDG_EVENT_SERVICE_CLIENT_STARTED,
113 PDG_EVENT_SERVICE_CLIENT_CHANGED,
#define PDG_EVENT_BUILD_ENUM(...)