Initial commit.
[qa-tools:testrunner-lite.git] / src / testfilters.h
1 /*
2  * This file is part of testrunner-lite
3  *
4  * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
5  *
6  * Contact: Sampo Saaristo <ext-sampo.2.saaristo@nokia.com>
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public License
10  * version 2.1 as published by the Free Software Foundation.
11  *
12  * This program is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this program; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20  * 02110-1301 USA
21  *
22  */
23
24 #ifndef TESTFILTERS_H
25 #define TESTFILTERS_H
26
27 /* ------------------------------------------------------------------------- */
28 /* INCLUDES */
29 #include <libxml/xmlstring.h>
30 #include <libxml/list.h>
31 #include "testrunnerlite.h"
32 #include "testdefinitiondatatypes.h"
33 /* ------------------------------------------------------------------------- */
34 /* CONSTANTS */
35 /* None */
36
37 /* ------------------------------------------------------------------------- */
38 /* MACROS */
39 /* None */
40
41 /* ------------------------------------------------------------------------- */
42 /* DATA TYPES */
43 /* ------------------------------------------------------------------------- */
44 /** Test filter */
45 typedef struct test_filter_ {
46         int         exclude; /**< set if the filter is negated with - */ 
47         xmlChar    *key;  /**< filter key */
48         xmlListPtr  value_list; /**< filter value list */
49         int       (*filter) (struct test_filter_ *, const void *); /**< filter 
50                                                                     function */
51 } test_filter;
52 /* ------------------------------------------------------------------------- */
53 /* FORWARD DECLARATIONS */
54 /* None */
55
56 /* ------------------------------------------------------------------------- */
57 /* STRUCTURES */
58 /* None */
59
60 /* ------------------------------------------------------------------------- */
61 /* FUNCTION PROTOTYPES */
62 /* ------------------------------------------------------------------------- */
63 void init_filters();
64 /* ------------------------------------------------------------------------- */
65 int parse_filter_string (char *);
66 /* ------------------------------------------------------------------------- */
67 int filter_suite (td_suite *);
68 /* ------------------------------------------------------------------------- */
69 int filter_set (td_set *);
70 /* ------------------------------------------------------------------------- */
71 int filter_case (td_case *);
72 /* ------------------------------------------------------------------------- */
73 void cleanup_filters();
74 /* ------------------------------------------------------------------------- */
75
76 #endif                          /* TESTFILTER_H */
77 /* End of file */