24 #ifndef MCR_BASE_IREGISTRY_H_ 25 #define MCR_BASE_IREGISTRY_H_ 55 const char *
const*addNames,
size_t addNamesCount);
80 struct mcr_Interface *interfacePt,
const char *name,
const char *
const*addNames,
81 size_t addNamesCount);
100 MCR_API
size_t mcr_IRegistry_id(
const struct mcr_IRegistry *iRegPt,
109 *iRegPt,
size_t typeId);
110 MCR_API
const char *mcr_IRegistry_name(
const struct mcr_IRegistry *iRegPt,
119 *iRegPt,
const char *name);
161 struct mcr_Interface *interfacePt,
const char *
const*addNames,
size_t addNamesCount);
MCR_API void mcr_IRegistry_init(struct mcr_IRegistry *iRegPt)
MCR_API void mcr_unregister(struct mcr_IRegistry *iRegPt, struct mcr_Interface *interfacePt)
void(* clear)(struct mcr_IRegistry *)
MCR_API size_t mcr_IRegistry_name_id(const struct mcr_IRegistry *iRegPt, const char *name)
MCR_API size_t mcr_IRegistry_count(const struct mcr_IRegistry *iRegPt)
void(* remove_name)(struct mcr_IRegistry *, const char *removeName)
Remove the name without removing the interface.
void(* trim)(struct mcr_IRegistry *)
Minimize allocation.
MCR_API int mcr_register(struct mcr_IRegistry *iRegPt, struct mcr_Interface *interfacePt, const char *name, const char *const *addNames, size_t addNamesCount)
size_t(* set_name)(struct mcr_IRegistry *, struct mcr_Interface *, const char *name)
MCR_API struct mcr_Interface * mcr_IRegistry_from_id(const struct mcr_IRegistry *iRegPt, size_t typeId)
MCR_API const char * mcr_IRegistry_id_name(const struct mcr_IRegistry *iRegPt, size_t id)
MCR_API int mcr_IRegistry_set_name(struct mcr_IRegistry *iRegPt, struct mcr_Interface *interfacePt, const char *name)
void(* deinit)(struct mcr_IRegistry *)
Notify this object is to be destroyed.
MCR_API int mcr_IRegistry_add_names(struct mcr_IRegistry *iRegPt, struct mcr_Interface *interfacePt, const char *const *addNames, size_t addNamesCount)
size_t(* count)(const struct mcr_IRegistry *)
Get the total number of interfaces registered.
MCR_API struct mcr_Interface * mcr_IRegistry_from_name(const struct mcr_IRegistry *iRegPt, const char *name)
MCR_API int mcr_IRegistry_add_name(struct mcr_IRegistry *iRegPt, struct mcr_Interface *interfacePt, const char *name)
MCR_API void mcr_IRegistry_clear(struct mcr_IRegistry *iRegPt)
int(* add_names)(struct mcr_IRegistry *, struct mcr_Interface *, const char *const *addNames, size_t addNamesCount)
Add names that will map to an interface.
MCR_API void mcr_IRegistry_trim(struct mcr_IRegistry *iRegPt)
MCR_API void mcr_IRegistry_deinit(struct mcr_IRegistry *iRegPt)