API -&nbspSmartSlog KP Library
properties.h
Go to the documentation of this file.
1 
32 #include "structures.h"
33 #include "utils/list.h"
34 #include "utils/check_func.h"
35 #include "utils/kp_debug.h"
36 
37 #ifndef _PROPERTIES_H
38 #define _PROPERTIES_H
39 
40 #if defined(WIN32) || defined(WINCE) || defined(SMARTSLOG_WIN_EXPORTS)
41 #define SSLOG_EXTERN __declspec(dllexport)
42 #else
43 #define SSLOG_EXTERN
44 #endif
45 
46 #ifdef __cplusplus
47 extern "C" {
48 #endif
49 
50 /******************************************************************************/
51 /****************************** Functions list ********************************/
53 
54 SSLOG_EXTERN const property_t *sslog_get_property_type(const class_t *ont_class, const char *propname);
55 
56 
57 SSLOG_EXTERN int sslog_add_property(void *entity, property_t *property, const void *value);
58 SSLOG_EXTERN int sslog_add_property_with_value_struct(void *entity, const prop_val_t *prop_val);
59 
60 SSLOG_EXTERN const prop_val_t* sslog_get_property(individual_t *ind, const char *propname);
61 SSLOG_EXTERN const prop_val_t* sslog_get_property_by_value(individual_t *ind, const char *propname, void *data);
62 SSLOG_EXTERN list_t* sslog_get_property_all(individual_t *ind, const char *propname);
63 
64 SSLOG_EXTERN int sslog_update_property(void *entity, const char *propname, void *new_data);
65 SSLOG_EXTERN int sslog_update_property_with_value(void *entity, const char *propname,
66  const void *old_data, void *new_data);
67 SSLOG_EXTERN int sslog_update_value_struct(prop_val_t* prop_value, void* new_data);
68 
73 
74 
76 
77 bool is_prop_values_equal(prop_val_t *a, prop_val_t *b);
78 bool is_prop_names_equal(prop_val_t *a, prop_val_t *b);
79 
81 
82 #ifdef __cplusplus
83 }
84 #endif
85 
86 
87 #endif /* _PROPERTIES_H */