#include "arc_interface.h" #include #ifndef ARC_COMPONENT #define ARC_COMPONENT #define NUM_INTERFACES_INIT 16 struct arc_component { char *comp_name; struct arc_property **properties; size_t num_properties; size_t max_properties; struct arc_interface **interfaces; size_t num_interfaces; size_t max_interfaces; }; void init_component(struct arc_component *comp, char *comp_name); void destroy_component(struct arc_component *comp); struct arc_component *clone_component(struct arc_component *comp); void comp_add_iface(struct arc_component *comp, struct arc_interface *iface); void comp_add_property(struct arc_component *comp, struct arc_property *prop); struct arc_interface* comp_rem_iface(struct arc_component *comp, char *iface_name); struct arc_property* comp_rem_property(struct arc_component *comp, char *prop_name); struct arc_interface* comp_find_iface(struct arc_component *comp, char *iface_name); struct arc_property* comp_find_property(struct arc_component *comp, char *prop_name); void print_component(struct arc_component *comp); #endif