00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef INTEGRA_ATTRIBUTE_H
00022 #define INTEGRA_ATTRIBUTE_H
00023
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027
00028 #include <Integra/integra_bridge.h>
00029 #include <Integra/integra_id.h>
00030 #include <Integra/integra_model.h>
00031 #include <Integra/integra_value.h>
00032
00033 typedef struct ntg_attribute_list_ {
00034
00035 ntg_attribute **attributes;
00036 int n_attributes;
00037
00038 } ntg_attribute_list;
00039
00040
00042 typedef struct ntg_instance_attribute_ {
00043
00044 char *name;
00045 void *next;
00046
00047 int index;
00048 ntg_value *value;
00049
00050 } ntg_instance_attribute;
00051
00052
00054 ntg_instance_attribute *ntg_instance_attribute_add(
00055 ntg_instance_attribute *list_node,
00056 char *name, int index, ntg_value *value);
00057
00059 void ntg_instance_attribute_set_name(ntg_instance_attribute *list_node, char *name);
00060
00062 void ntg_instance_attribute_set_value(ntg_instance_attribute *list_node,
00063 const ntg_value *value);
00064
00066 ntg_value *ntg_instance_attribute_get_value(ntg_instance_attribute *list_node);
00067
00068
00069
00071 void ntg_instance_attribute_set_default_value(ntg_instance_attribute **list_node, ntg_default_value *default_value, const int type_code);
00072
00074 void ntg_instance_attribute_set_index(ntg_instance_attribute *list_node, int index);
00075
00077 int ntg_instance_attribute_get_index(ntg_instance_attribute *list_node);
00078
00080 void ntg_instance_attribute_print(ntg_instance_attribute *attribute);
00081
00083 void ntg_instance_attributes_print_all(ntg_instance_attribute *list_node);
00084
00086 int ntg_instance_attributes_free(ntg_instance_attribute *list_node);
00087
00089 void ntg_instance_attribute_send_value(ntg_instance_attribute *attribute, ntg_id instance_id,
00090 ntg_bridge_interface *bridge);
00091
00092 #ifdef __cplusplus
00093 }
00094 #endif
00095
00096 #endif