#ifndef IVY_SELECTOR_H_ #define IVY_SELECTOR_H_ #include #include enum ivy_selector_recipient { IVY_SEL_NONE = 0, IVY_SEL_CLASS, IVY_SEL_OBJECT, }; struct ivy_selector { enum ivy_selector_recipient sel_recipient; char *sel_name; b_queue sel_args; }; struct ivy_selector_arg { char *arg_label; char *arg_name; b_queue_entry arg_entry; }; IVY_API enum ivy_status ivy_selector_create(struct ivy_selector **sel); IVY_API void ivy_selector_destroy(struct ivy_selector *sel); IVY_API void ivy_selector_set_recipient( struct ivy_selector *sel, enum ivy_selector_recipient r); IVY_API enum ivy_status ivy_selector_set_name(struct ivy_selector *sel, const char *name); IVY_API enum ivy_status ivy_selector_add_arg( struct ivy_selector *sel, const char *label, const char *name); #endif