return (ident->type_instance);
} /* }}} char *ident_get_type_instance */
+
+const char *ident_get_field (graph_ident_t *ident, /* {{{ */
+ graph_ident_field_t field)
+{
+ if ((ident == NULL) || (field >= _GIF_LAST))
+ return (NULL);
+
+ if (field == GIF_HOST)
+ return (ident->host);
+ else if (field == GIF_PLUGIN)
+ return (ident->plugin);
+ else if (field == GIF_PLUGIN_INSTANCE)
+ return (ident->plugin_instance);
+ else if (field == GIF_TYPE)
+ return (ident->type);
+ else if (field == GIF_TYPE_INSTANCE)
+ return (ident->type_instance);
+ else
+ return (NULL); /* never reached */
+} /* }}} const char *ident_get_field */
/* }}} ident_get_* methods */
/* ident_set_* methods {{{ */
#define IS_ANY(str) (((str) != NULL) && (strcasecmp (ANY_TOKEN, (str)) == 0))
#define IS_ALL(str) (((str) != NULL) && (strcasecmp (ALL_TOKEN, (str)) == 0))
+enum graph_ident_field_e
+{
+ GIF_HOST,
+ GIF_PLUGIN,
+ GIF_PLUGIN_INSTANCE,
+ GIF_TYPE,
+ GIF_TYPE_INSTANCE,
+ _GIF_LAST
+};
+typedef enum graph_ident_field_e graph_ident_field_t;
+
graph_ident_t *ident_create (const char *host,
const char *plugin, const char *plugin_instance,
const char *type, const char *type_instance);
const char *ident_get_plugin_instance (graph_ident_t *ident);
const char *ident_get_type (graph_ident_t *ident);
const char *ident_get_type_instance (graph_ident_t *ident);
+const char *ident_get_field (graph_ident_t *ident,
+ graph_ident_field_t field);
int ident_set_host (graph_ident_t *ident, const char *host);
int ident_set_plugin (graph_ident_t *ident, const char *plugin);