1: /*
2: * Copyright (C) 2017 Andreas Steffen
3: * HSR Hochschule fuer Technik Rapperswil
4: *
5: * This program is free software; you can redistribute it and/or modify it
6: * under the terms of the GNU General Public License as published by the
7: * Free Software Foundation; either version 2 of the License, or (at your
8: * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
9: *
10: * This program is distributed in the hope that it will be useful, but
11: * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13: * for more details.
14: */
15:
16: /**
17: * @defgroup sw_collector_rest_api_t sw_collector_rest_api
18: * @{ @ingroup sw_collector
19: */
20:
21: #ifndef SW_COLLECTOR_REST_API_H_
22: #define SW_COLLECTOR_REST_API_H_
23:
24: #include "sw_collector_db.h"
25:
26: typedef struct sw_collector_rest_api_t sw_collector_rest_api_t;
27:
28: /**
29: * Software collector REST API object
30: */
31: struct sw_collector_rest_api_t {
32:
33: /**
34: * List of locally stored software identifiers that are not registered
35: * in a central collector database
36: *
37: * @param type Query type (ALL, INSTALLED, REMOVED)
38: * @return Enumerator
39: */
40: enumerator_t* (*create_sw_enumerator)(sw_collector_rest_api_t *this,
41: sw_collector_db_query_t type);
42:
43: /**
44: * Destroy sw_collector_rest_api_t object
45: */
46: void (*destroy)(sw_collector_rest_api_t *this);
47:
48: };
49:
50: /**
51: * Create an sw_collector_rest_api_t instance
52: *
53: * @param db Software collector database to be used
54: */
55: sw_collector_rest_api_t* sw_collector_rest_api_create(sw_collector_db_t *db);
56:
57: #endif /** SW_COLLECTOR_REST_API_H_ @}*/
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>