src/graph_ident.[ch]: Implement "ident_intersect".
[collection4.git] / src / graph_ident.h
index f76c0c9..e433fa7 100644 (file)
@@ -1,3 +1,26 @@
+/**
+ * collection4 - graph_ident.h
+ * Copyright (C) 2010  Florian octo Forster
+ * 
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
+ * Authors:
+ *   Florian octo Forster <ff at octo.it>
+ **/
+
 #ifndef GRAPH_IDENT_H
 #define GRAPH_IDENT_H 1
 
@@ -55,6 +78,12 @@ int ident_compare (const graph_ident_t *i0,
 _Bool ident_matches (const graph_ident_t *selector,
     const graph_ident_t *ident);
 
+/* The "ident_intersect" function takes two selectors and returns true if a
+ * file may apply to both selectors. If the selectors contradict one another,
+ * for example one issuing "plugin = cpu" and the other "plugin = memory",
+ * then false is returned. */
+_Bool ident_intersect (const graph_ident_t *s0, const graph_ident_t *s1);
+
 char *ident_to_string (const graph_ident_t *ident);
 char *ident_to_file (const graph_ident_t *ident);
 char *ident_to_json (const graph_ident_t *ident);