Idź do dokumentacji tego pliku.
20 #ifndef __EKG_OBJECTS_H
21 #define __EKG_OBJECTS_H
29 #define PROPERTY_INT_GET(object,property,type) \
31 type object##_##property##_get(object##_t *o) \
33 return (o) ? o->property : -1; \
36 #define PROPERTY_INT_SET(object,property,type) \
38 int object##_##property##_set(object##_t *o, type v) \
48 #define PROPERTY_INT(object,property,type) \
50 PROPERTY_INT_GET(object,property,type) \
51 PROPERTY_INT_SET(object,property,type)
55 #define PROPERTY_STRING_GET(object,property) \
57 const char *object##_##property##_get(object##_t *o) \
59 return (o) ? o->property : NULL; \
63 #define PROPERTY_STRING_SET(object,property) \
65 int object##_##property##_set(object##_t *o, const char *v) \
71 o->property = xstrdup(v); \
76 #define PROPERTY_STRING(object,property) \
78 PROPERTY_STRING_SET(object, property) \
79 PROPERTY_STRING_GET(object, property)
82 #define PROPERTY_PRIVATE_GET(object) \
84 void *object##_private_get(object##_t *o) \
86 return (o) ? o->priv : NULL; \
89 #define PROPERTY_PRIVATE_SET(object) \
91 int object##_private_set(object##_t *o, void *v) \
101 #define PROPERTY_PRIVATE(object) \
103 PROPERTY_PRIVATE_GET(object) \
104 PROPERTY_PRIVATE_SET(object)
107 #define PROPERTY_MISC_GET(object,property,type,null) \
109 type object##_##property##_get(object##_t *o) \
111 return (o) ? o->property : null; \
114 #define PROPERTY_MISC_SET(object,property,type) \
116 int object##_##property##_set(object##_t *o, type v) \
126 #define PROPERTY_MISC(object,property,type,null) \
128 PROPERTY_MISC_GET(object,property,type,null) \
129 PROPERTY_MISC_SET(object,property,type)