} /* }}} void ident_destroy */
/* ident_get_* methods {{{ */
-const char *ident_get_host (graph_ident_t *ident) /* {{{ */
+const char *ident_get_host (const graph_ident_t *ident) /* {{{ */
{
if (ident == NULL)
return (NULL);
return (ident->host);
} /* }}} char *ident_get_host */
-const char *ident_get_plugin (graph_ident_t *ident) /* {{{ */
+const char *ident_get_plugin (const graph_ident_t *ident) /* {{{ */
{
if (ident == NULL)
return (NULL);
return (ident->plugin);
} /* }}} char *ident_get_plugin */
-const char *ident_get_plugin_instance (graph_ident_t *ident) /* {{{ */
+const char *ident_get_plugin_instance (const graph_ident_t *ident) /* {{{ */
{
if (ident == NULL)
return (NULL);
return (ident->plugin_instance);
} /* }}} char *ident_get_plugin_instance */
-const char *ident_get_type (graph_ident_t *ident) /* {{{ */
+const char *ident_get_type (const graph_ident_t *ident) /* {{{ */
{
if (ident == NULL)
return (NULL);
return (ident->type);
} /* }}} char *ident_get_type */
-const char *ident_get_type_instance (graph_ident_t *ident) /* {{{ */
+const char *ident_get_type_instance (const graph_ident_t *ident) /* {{{ */
{
if (ident == NULL)
return (NULL);
return (ident->type_instance);
} /* }}} char *ident_get_type_instance */
+
+const char *ident_get_field (const 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 {{{ */
_Bool ident_matches (const graph_ident_t *selector, /* {{{ */
const graph_ident_t *ident)
{
- if ((selector == NULL) && (ident == NULL))
+ if ((selector == NULL) || (ident == NULL))
return (0);
- else if (selector == NULL)
- return (-1);
- else if (ident == NULL)
- return (1);
if (!part_matches (selector->host, ident->host))
return (0);