Skip to content
Snippets Groups Projects

ENH: Add datatypes and value classes to Extern C interface

Merged Florian Spreckelsen requested to merge f-consolidate-c into dev
All threads resolved!
1 file
+ 11
7
Compare changes
  • Side-by-side
  • Inline
+ 92
24
@@ -321,14 +321,32 @@ typedef struct {
} caosdb_entity_message;
// GETTERS FOR EVERYTHING
int caosdb_entity_entity_get_id(caosdb_entity_entity *entity, char *out);
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_datatype(caosdb_entity_entity *entity, char *out);
int caosdb_entity_entity_get_unit(caosdb_entity_entity *entity, char *out);
int caosdb_entity_entity_get_value(caosdb_entity_entity *entity, char *out);
int caosdb_entity_entity_get_version_id(caosdb_entity_entity *entity, char *out);
int caosdb_entity_entity_get_id(caosdb_entity_entity *entity, char **out);
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);
/**
* 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);
int caosdb_entity_entity_get_unit(caosdb_entity_entity *entity, char **out);
int caosdb_entity_entity_get_int_value(caosdb_entity_entity *entity, long *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, long *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);
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,
int index);
@@ -345,20 +363,37 @@ int caosdb_entity_entity_get_parents_size(caosdb_entity_entity *entity, int *out
int caosdb_entity_entity_get_parent(caosdb_entity_entity *entity, caosdb_entity_parent *out,
int index);
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);
int caosdb_entity_property_get_datatype(caosdb_entity_property *property, char *out);
int caosdb_entity_property_get_unit(caosdb_entity_property *property, char *out);
int caosdb_entity_property_get_value(caosdb_entity_property *property, char *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);
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);
int caosdb_entity_property_get_unit(caosdb_entity_property *property, char **out);
int caosdb_entity_property_get_int_value(caosdb_entity_property *property, long *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, long *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);
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);
int caosdb_entity_message_get_code(caosdb_entity_message *message, int *out);
int caosdb_entity_message_get_description(caosdb_entity_message *message, char *out);
int caosdb_entity_message_get_description(caosdb_entity_message *message, char **out);
// CONSTRUCTORS AND DESTRUCTORS
int caosdb_entity_create_entity(caosdb_entity_entity *out);
@@ -372,9 +407,26 @@ int caosdb_entity_delete_parent(caosdb_entity_parent *out);
int caosdb_entity_entity_set_role(caosdb_entity_entity *entity, const char *role);
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_datatype(caosdb_entity_entity *entity, const char *datatype);
/**
* 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);
int caosdb_entity_entity_set_unit(caosdb_entity_entity *entity, const char *unit);
int caosdb_entity_entity_set_value(caosdb_entity_entity *entity, const char *value);
// TODO(fspreck) replace by more specific setters
int caosdb_entity_entity_set_int_value(caosdb_entity_entity *entity, const long 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 long *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);
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);
int caosdb_entity_entity_append_property(caosdb_entity_entity *entity,
@@ -383,10 +435,26 @@ 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);
int caosdb_entity_property_set_datatype(caosdb_entity_property *property, const char *datatype);
/**
* 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);
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_value(caosdb_entity_property *property, const char *value);
int caosdb_entity_property_set_int_value(caosdb_entity_property *property, const long 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 long *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);
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);
Loading