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)