diff --git a/include/ccaosdb.h b/include/ccaosdb.h index fdd8ce799dffabac044be61829bb51063e9fbee2..53fbe1341f5efbdaec87db31cf09eb0cdf21fbd7 100644 --- a/include/ccaosdb.h +++ b/include/ccaosdb.h @@ -350,27 +350,11 @@ int caosdb_entity_entity_get_role(caosdb_entity_entity *entity, char **out); int caosdb_entity_entity_get_name(caosdb_entity_entity *entity, char **out); int caosdb_entity_entity_get_description(caosdb_entity_entity *entity, char **out); int caosdb_entity_entity_get_local_path(caosdb_entity_entity *entity, char **out); -/** - * Get the name of the entity's datatype, whether it is a reference, and whether it is a list. - */ -int caosdb_entity_entity_get_datatype(caosdb_entity_entity *entity, char **name, bool *is_ref, - bool *is_list); +// TODO(fspreck) implementation +int caosdb_entity_entity_get_datatype(caosdb_entity_entity *entity, caosdb_entity_datatype *out); int caosdb_entity_entity_get_unit(caosdb_entity_entity *entity, char **out); - -int caosdb_entity_entity_get_int_value(caosdb_entity_entity *entity, int64_t *out); -int caosdb_entity_entity_get_double_value(caosdb_entity_entity *entity, double *out); -int caosdb_entity_entity_get_boolean_value(caosdb_entity_entity *entity, bool *out); -int caosdb_entity_entity_get_string_value(caosdb_entity_entity *entity, char **out); -int caosdb_entity_entity_get_int_list_value_at(caosdb_entity_entity *entity, int64_t *out, - const int index); -int caosdb_entity_entity_get_double_list_value_at(caosdb_entity_entity *entity, double *out, - const int index); -int caosdb_entity_entity_get_boolean_list_value_at(caosdb_entity_entity *entity, bool *out, - const int index); -int caosdb_entity_entity_get_string_list_value_at(caosdb_entity_entity *entity, char **out, - const int index); -int caosdb_entity_entity_get_value_list_length(caosdb_entity_entity *entity, int *out); - +// TODO(fspreck) implementation +int caosdb_entity_entity_get_value(caosdb_entity_entity *entity, caosdb_entity_value *out); int caosdb_entity_entity_get_version_id(caosdb_entity_entity *entity, char **out); int caosdb_entity_entity_get_errors_size(caosdb_entity_entity *entity, int *out); int caosdb_entity_entity_get_error(caosdb_entity_entity *entity, caosdb_entity_message *out, @@ -392,27 +376,12 @@ int caosdb_entity_property_get_id(caosdb_entity_property *property, char **out); int caosdb_entity_property_get_name(caosdb_entity_property *property, char **out); int caosdb_entity_property_get_description(caosdb_entity_property *property, char **out); int caosdb_entity_property_get_importance(caosdb_entity_property *property, char **out); -/** - * Get the name of the property's datatype, whether it is a reference, and whether it is a list. - */ -int caosdb_entity_property_get_datatype(caosdb_entity_property *property, char **name, bool *is_ref, - bool *is_list); +// TODO(fspreck) implementation +int caosdb_entity_property_get_datatype(caosdb_entity_property *property, + caosdb_entity_datatype *out); int caosdb_entity_property_get_unit(caosdb_entity_property *property, char **out); - -int caosdb_entity_property_get_int_value(caosdb_entity_property *property, int64_t *out); -int caosdb_entity_property_get_double_value(caosdb_entity_property *property, double *out); -int caosdb_entity_property_get_boolean_value(caosdb_entity_property *property, bool *out); -int caosdb_entity_property_get_string_value(caosdb_entity_property *property, char **out); -int caosdb_entity_property_get_int_list_value_at(caosdb_entity_property *property, int64_t *out, - const int index); -int caosdb_entity_property_get_double_list_value_at(caosdb_entity_property *property, double *out, - const int index); -int caosdb_entity_property_get_boolean_list_value_at(caosdb_entity_property *property, bool *out, - const int index); -int caosdb_entity_property_get_string_list_value_at(caosdb_entity_property *property, char **out, - const int index); -int caosdb_entity_property_get_value_list_length(caosdb_entity_property *property, int *out); - +// TODO(fspreck) implementation +int caosdb_entity_property_get_value(caosdb_entity_property *property, caosdb_entity_value *out); int caosdb_entity_parent_get_id(caosdb_entity_parent *parent, char **out); int caosdb_entity_parent_get_name(caosdb_entity_parent *parent, char **out); int caosdb_entity_parent_get_description(caosdb_entity_parent *parent, char **out); @@ -420,6 +389,8 @@ int caosdb_entity_parent_get_description(caosdb_entity_parent *parent, char **ou int caosdb_entity_message_get_code(caosdb_entity_message *message, int *out); int caosdb_entity_message_get_description(caosdb_entity_message *message, char **out); +// TODO(fspreck) getters for value and datatypes + // CONSTRUCTORS AND DESTRUCTORS int caosdb_entity_create_entity(caosdb_entity_entity *out); int caosdb_entity_delete_entity(caosdb_entity_entity *out); @@ -427,6 +398,11 @@ int caosdb_entity_create_property(caosdb_entity_property *out); int caosdb_entity_delete_property(caosdb_entity_property *out); int caosdb_entity_create_parent(caosdb_entity_parent *out); int caosdb_entity_delete_parent(caosdb_entity_parent *out); +// TODO(fspreck) implementations, also list_datatypes, list_values... +int caosdb_entity_create_datatype(caosdb_entity_datatype *out); +int caosdb_entity_delete_datatype(caosdb_entity_datatype *out); +int caosdb_entity_create_value(caosdb_entity_value *out); +int caosdb_entity_delete_value(caosdb_entity_value *out); // SETTERS FOR EVERYTHING THAT MAY BE SET int caosdb_entity_entity_set_role(caosdb_entity_entity *entity, const char *role); @@ -434,25 +410,12 @@ int caosdb_entity_entity_set_name(caosdb_entity_entity *entity, const char *name int caosdb_entity_entity_set_description(caosdb_entity_entity *entity, const char *description); int caosdb_entity_entity_set_local_path(caosdb_entity_entity *entity, const char *name); int caosdb_entity_entity_set_file_path(caosdb_entity_entity *entity, const char *name); -/** - * Set the entity's datatype by name, and whether it is a reference or a list. - */ -int caosdb_entity_entity_set_datatype(caosdb_entity_entity *entity, const char *datatype, - const bool is_ref, const bool is_list); +// TODO(fspreck) implementation +int caosdb_entity_entity_set_datatype(caosdb_entity_entity *entity, + caosdb_entity_datatype *datatype); int caosdb_entity_entity_set_unit(caosdb_entity_entity *entity, const char *unit); -// TODO(fspreck) replace by more specific setters -int caosdb_entity_entity_set_int_value(caosdb_entity_entity *entity, const int64_t value); -int caosdb_entity_entity_set_double_value(caosdb_entity_entity *entity, const double value); -int caosdb_entity_entity_set_boolean_value(caosdb_entity_entity *entity, const bool value); -int caosdb_entity_entity_set_string_value(caosdb_entity_entity *entity, const char *value); -int caosdb_entity_entity_set_int_list_value(caosdb_entity_entity *entity, const int64_t *value, - const int length); -int caosdb_entity_entity_set_double_list_value(caosdb_entity_entity *entity, const double *value, - const int length); -int caosdb_entity_entity_set_boolean_list_value(caosdb_entity_entity *entity, const bool *value, - const int length); -int caosdb_entity_entity_set_string_list_value(caosdb_entity_entity *entity, const char **value, - const int length); +// TODO(fspreck) implementation +int caosdb_entity_entity_set_value(caosdb_entity_entity *entity, caosdb_entity_value *value); int caosdb_entity_entity_append_parent(caosdb_entity_entity *entity, caosdb_entity_parent *parent); int caosdb_entity_entity_remove_parent(caosdb_entity_entity *entity, int index); @@ -462,30 +425,20 @@ int caosdb_entity_entity_remove_property(caosdb_entity_entity *entity, int index int caosdb_entity_property_set_id(caosdb_entity_property *property, const char *id); int caosdb_entity_property_set_name(caosdb_entity_property *property, const char *name); -/** - * Set the property's datatype by name, and whether it is a reference or a list. - */ -int caosdb_entity_property_set_datatype(caosdb_entity_property *property, const char *datatype, - const bool is_ref, const bool is_list); +// TODO(fspreck) implementation +int caosdb_entity_property_set_datatype(caosdb_entity_property *property, + caosdb_entity_datatype *datatype); int caosdb_entity_property_set_importance(caosdb_entity_property *property, const char *importance); int caosdb_entity_property_set_unit(caosdb_entity_property *property, const char *unit); -int caosdb_entity_property_set_int_value(caosdb_entity_property *property, const int64_t value); -int caosdb_entity_property_set_double_value(caosdb_entity_property *property, const double value); -int caosdb_entity_property_set_boolean_value(caosdb_entity_property *property, const bool value); -int caosdb_entity_property_set_string_value(caosdb_entity_property *property, const char *value); -int caosdb_entity_property_set_int_list_value(caosdb_entity_property *property, - const int64_t *value, const int length); -int caosdb_entity_property_set_double_list_value(caosdb_entity_property *property, - const double *value, const int length); -int caosdb_entity_property_set_boolean_list_value(caosdb_entity_property *property, - const bool *value, const int length); -int caosdb_entity_property_set_string_list_value(caosdb_entity_property *property, - const char **value, const int length); +// TODO(fspreck) implementation +int caosdb_entity_property_set_value(caosdb_entity_property *property, caosdb_entity_value *value); int caosdb_entity_parent_set_id(caosdb_entity_parent *parent, const char *id); int caosdb_entity_parent_set_name(caosdb_entity_parent *parent, const char *name); +// TODO(fspreck) setters for value and datatype + #ifdef __cplusplus } #endif