sw_collector_rest_api.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. * @defgroup sw_collector_rest_api_t sw_collector_rest_api
  17. * @{ @ingroup sw_collector
  18. */
  19. #ifndef SW_COLLECTOR_REST_API_H_
  20. #define SW_COLLECTOR_REST_API_H_
  21. #include "sw_collector_db.h"
  22. typedef struct sw_collector_rest_api_t sw_collector_rest_api_t;
  23. /**
  24. * Software collector REST API object
  25. */
  26. struct sw_collector_rest_api_t {
  27. /**
  28. * List of locally stored software identifiers that are not registered
  29. * in a central collector database
  30. *
  31. * @param type Query type (ALL, INSTALLED, REMOVED)
  32. * @return Enumerator
  33. */
  34. enumerator_t* (*create_sw_enumerator)(sw_collector_rest_api_t *this,
  35. sw_collector_db_query_t type);
  36. /**
  37. * Destroy sw_collector_rest_api_t object
  38. */
  39. void (*destroy)(sw_collector_rest_api_t *this);
  40. };
  41. /**
  42. * Create an sw_collector_rest_api_t instance
  43. *
  44. * @param db Software collector database to be used
  45. */
  46. sw_collector_rest_api_t* sw_collector_rest_api_create(sw_collector_db_t *db);
  47. #endif /** SW_COLLECTOR_REST_API_H_ @}*/