00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef GCU_MACROS_H
00026 #define GCU_MACROS_H
00027
00028 #define GCU_PROP(type,member) \
00029 public: \
00030 void Set##member (type val) {m_##member = val;} \
00031 type Get##member (void) {return m_##member;} \
00032 private: \
00033 type m_##member;
00034
00035 #define GCU_RO_PROP(type,member) \
00036 public: \
00037 type Get##member (void) {return m_##member;} \
00038 private: \
00039 type m_##member;
00040
00041 #define GCU_PROT_PROP(type,member) \
00042 public: \
00043 type Get##member (void) {return m_##member;} \
00044 protected: \
00045 type m_##member;
00046
00047 #define GCU_GCONF_GET(key,type,target,defaultval) \
00048 type target = gconf_client_get_##type (m_ConfClient, key, &error); \
00049 if (error) { \
00050 target = defaultval; \
00051 g_message ("GConf failed: %s", error->message); \
00052 g_error_free (error); \
00053 error = NULL; \
00054 } \
00055 if (target == (type) 0) \
00056 target = defaultval;
00057
00058 #define GCU_GCONF_GET_NO_CHECK(key,type,target,defaultval) \
00059 target = gconf_client_get_##type (m_ConfClient, key, &error); \
00060 if (error) { \
00061 target = defaultval; \
00062 g_message ("GConf failed: %s", error->message); \
00063 g_error_free (error); \
00064 error = NULL; \
00065 }
00066
00067 #define GCU_GCONF_GET_N_TRANSFORM(key,type,target,defaultval,func) \
00068 { \
00069 type val = gconf_client_get_##type (m_ConfClient, key, &error); \
00070 if (error) { \
00071 val = defaultval; \
00072 g_message ("GConf failed: %s", error->message); \
00073 g_error_free (error); \
00074 error = NULL; \
00075 } \
00076 if (val == (type) 0) \
00077 val = defaultval; \
00078 target = func (val); \
00079 }
00080
00081 #define GCU_GCONF_GET_STRING(key,target,defaultval) \
00082 if (target) { \
00083 g_free (target); \
00084 target = NULL; \
00085 } \
00086 target = gconf_client_get_string (m_ConfClient, key, &error); \
00087 if (error) { \
00088 if (defaultval) \
00089 target = g_strdup (defaultval); \
00090 g_message ("GConf failed: %s", error->message); \
00091 g_error_free (error); \
00092 error = NULL; \
00093 }
00094
00095 #endif // GCU_MACROS_H