#include <tr_trp.h>
#include <trp_rtable.h>
#include <trp_ptable.h>
+#include <tr_comm.h>
+#include <tr_idp.h>
#include <mon_internal.h>
#include <mons_handlers.h>
return (*response_ptr == NULL) ? MON_NOMEM : MON_SUCCESS;
}
+static MON_RC handle_show_communities(void *cookie, json_t **response_ptr)
+{
+ TRPS_INSTANCE *trps = talloc_get_type_abort(cookie, TRPS_INSTANCE);
+
+ *response_ptr = tr_comm_table_to_json(trps->ctable);
+ return (*response_ptr == NULL) ? MON_NOMEM : MON_SUCCESS;
+}
+
+static MON_RC handle_show_realms(void *cookie, json_t **response_ptr)
+{
+ TRPS_INSTANCE *trps = talloc_get_type_abort(cookie, TRPS_INSTANCE);
+
+ *response_ptr = tr_idp_realms_to_json(trps->ctable->idp_realms);
+ return (*response_ptr == NULL) ? MON_NOMEM : MON_SUCCESS;
+}
+
void tr_trp_register_mons_handlers(TRPS_INSTANCE *trps, MONS_INSTANCE *mons)
{
mons_register_handler(mons,
mons_register_handler(mons,
MON_CMD_SHOW, OPT_TYPE_SHOW_PEERS,
handle_show_peers, trps);
+ mons_register_handler(mons,
+ MON_CMD_SHOW, OPT_TYPE_SHOW_COMMUNITIES,
+ handle_show_communities, trps);
+ mons_register_handler(mons,
+ MON_CMD_SHOW, OPT_TYPE_SHOW_REALMS,
+ handle_show_realms, trps);
}