GATE
properties.h File Reference

Simplified hierarchical property storage. More...

#include "gate/gate_core_api.h"
#include "gate/gatetypes.h"
#include "gate/strings.h"
#include "gate/arrays.h"
#include "gate/maps.h"
#include "gate/structs.h"

Classes

union  gate_property_data_t
 
struct  gate_property_class
 
union  gate_proptable_data_t
 
struct  gate_proptable_class
 

Macros

#define GATE_PROPERTY_TYPE_EMPTY   0
 
#define GATE_PROPERTY_TYPE_BOOL   1
 
#define GATE_PROPERTY_TYPE_INT   2
 
#define GATE_PROPERTY_TYPE_REAL   3
 
#define GATE_PROPERTY_TYPE_STRING   4
 
#define GATE_PROPERTY_TYPE_ARRAY   5
 
#define GATE_PROPERTY_TYPE_OBJECT   6
 
#define GATE_PROPTABLE_INVALID_INDEX   ((gate_size_t)(-1))
 

Typedefs

typedef unsigned int gate_property_typeid_t
 
typedef struct gate_property_class gate_property_t
 
typedef struct gate_proptable_class gate_proptable_t
 

Functions

GATE_CORE_API gate_property_tgate_property_create_empty (gate_property_t *obj)
 

 
GATE_CORE_API gate_property_tgate_property_create_bool (gate_property_t *obj, gate_bool_t value)
 

 
GATE_CORE_API gate_property_tgate_property_create_int (gate_property_t *obj, gate_int64_t value)
 

 
GATE_CORE_API gate_property_tgate_property_create_real (gate_property_t *obj, gate_real64_t value)
 

 
GATE_CORE_API gate_property_tgate_property_create_string (gate_property_t *obj, gate_string_t const *value)
 

 
GATE_CORE_API gate_property_tgate_property_create_text (gate_property_t *obj, char const *value)
 

 
GATE_CORE_API gate_property_tgate_property_create_array (gate_property_t *obj, gate_property_t const *items, gate_size_t item_count)
 

 
GATE_CORE_API gate_property_tgate_property_create_object (gate_property_t *obj)
 

 
GATE_CORE_API gate_property_tgate_property_create (gate_property_t *obj, gate_uint32_t value_type, void const *ptr_value)
 

 
GATE_CORE_API gate_property_tgate_property_copy (gate_property_t *dest, gate_property_t const *src)
 

 
GATE_CORE_API void gate_property_destroy (gate_property_t *obj)
 

 
GATE_CORE_API gate_result_t gate_property_copy_constructor (void *dest, void const *src)
 

 
GATE_CORE_API void gate_property_destructor (void *dest)
 

 
GATE_CORE_API gate_property_typeid_t gate_property_get_type (gate_property_t const *obj)
 

 
GATE_CORE_API gate_result_t gate_property_get_bool (gate_property_t const *obj, gate_bool_t *value)
 

 
GATE_CORE_API gate_result_t gate_property_get_int (gate_property_t const *obj, gate_int64_t *value)
 

 
GATE_CORE_API gate_result_t gate_property_get_real (gate_property_t const *obj, gate_real64_t *value)
 

 
GATE_CORE_API gate_result_t gate_property_get_string (gate_property_t const *obj, gate_string_t *value)
 

 
GATE_CORE_API gate_result_t gate_property_set_bool (gate_property_t *obj, gate_bool_t value)
 

 
GATE_CORE_API gate_result_t gate_property_set_int (gate_property_t *obj, gate_int64_t value)
 

 
GATE_CORE_API gate_result_t gate_property_set_real (gate_property_t *obj, gate_real64_t value)
 

 
GATE_CORE_API gate_result_t gate_property_set_string (gate_property_t *obj, gate_string_t const *value)
 

 
GATE_CORE_API gate_property_tgate_property_array_add (gate_property_t *array_obj, gate_property_t const *item)
 

 
GATE_CORE_API gate_property_t const * gate_property_array_get (gate_property_t const *array_obj, gate_size_t index)
 

 
GATE_CORE_API gate_size_t gate_property_array_length (gate_property_t const *array_obj)
 

 
GATE_CORE_API gate_bool_t gate_property_array_remove (gate_property_t *array_obj, gate_size_t index)
 

 
GATE_CORE_API gate_property_tgate_property_member_add (gate_property_t *obj, gate_string_t const *name, gate_property_t const *item)
 

 
GATE_CORE_API gate_property_t const * gate_property_member_get (gate_property_t const *obj, gate_string_t const *name)
 

 
GATE_CORE_API gate_array_tgate_property_member_names (gate_property_t const *obj, gate_array_t *new_string_array)
 

 
GATE_CORE_API gate_size_t gate_property_member_count (gate_property_t const *obj)
 

 
GATE_CORE_API gate_bool_t gate_property_member_remove (gate_property_t *obj, gate_string_t const *name)
 

 
GATE_CORE_API gate_result_t gate_property_import (gate_property_t *target, gate_uint16_t type_id, void const *source)
 

 
GATE_CORE_API gate_result_t gate_property_export (gate_property_t const *source, gate_uint16_t type_id, void *target)
 

 
GATE_CORE_API gate_property_t const * gate_property_resolve_path (gate_property_t const *source, gate_string_t const *path)
 

 
GATE_CORE_API gate_property_t const * gate_property_resolve_path_str (gate_property_t const *source, char const *path)
 

 
GATE_CORE_API gate_bool_t gate_property_equals_string (gate_property_t const *obj, gate_string_t const *text)
 

 
GATE_CORE_API gate_bool_t gate_property_equals_str (gate_property_t const *obj, char const *text)
 

 
GATE_CORE_API gate_proptable_tgate_proptable_create (gate_proptable_t *table)
 

 
GATE_CORE_API gate_proptable_tgate_proptable_copy (gate_proptable_t *table, gate_proptable_t const *src)
 

 
GATE_CORE_API void gate_proptable_destroy (gate_proptable_t *table)
 

 
GATE_CORE_API gate_result_t gate_proptable_insert_column (gate_proptable_t *table, gate_string_t const *column_name, gate_property_typeid_t prop_type, gate_size_t insert_at)
 

 
GATE_CORE_API gate_result_t gate_proptable_remove_column (gate_proptable_t *table, gate_string_t const *column_name)
 

 
GATE_CORE_API gate_result_t gate_proptable_remove_column_at (gate_proptable_t *table, gate_size_t index)
 

 
GATE_CORE_API gate_result_t gate_proptable_set_column_name (gate_proptable_t *table, gate_size_t index, gate_string_t const *new_name)
 

 
GATE_CORE_API gate_result_t gate_proptable_resolve_column (gate_proptable_t const *table, gate_string_t const *name, gate_size_t *match_index)
 

 
GATE_CORE_API gate_size_t gate_proptable_get_column_count (gate_proptable_t const *table)
 

 
GATE_CORE_API gate_result_t gate_proptable_get_column_name (gate_proptable_t const *table, gate_size_t index, gate_string_t *ptr_name)
 

 
GATE_CORE_API gate_property_typeid_t gate_proptable_get_column_type (gate_proptable_t const *table, gate_size_t index)
 

 
GATE_CORE_API gate_size_t gate_proptable_get_row_count (gate_proptable_t const *table)
 

 
GATE_CORE_API gate_property_t const * gate_proptable_get_item (gate_proptable_t const *table, gate_size_t row, gate_string_t const *column)
 

 
GATE_CORE_API gate_property_t const * gate_proptable_get_item_at (gate_proptable_t const *table, gate_size_t row, gate_size_t column)
 

 
GATE_CORE_API gate_result_t gate_proptable_get_row (gate_proptable_t const *table, gate_size_t row, gate_property_t *prop)
 

 
GATE_CORE_API gate_result_t gate_proptable_insert_row (gate_proptable_t *table, gate_size_t row)
 

 
GATE_CORE_API gate_result_t gate_proptable_remove_row (gate_proptable_t *table, gate_size_t row)
 

 
GATE_CORE_API gate_result_t gate_proptable_set_item (gate_proptable_t *table, gate_size_t row, gate_string_t const *column, gate_property_t const *prop)
 

 
GATE_CORE_API gate_result_t gate_proptable_set_item_at (gate_proptable_t *table, gate_size_t row, gate_size_t column, gate_property_t const *prop)
 

 

Detailed Description

Simplified hierarchical property storage.