From 6ca4d7a6b6c896cfcba0b3dfe02bf135b5c8ead7 Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Fri, 17 Oct 2025 18:01:11 -0400 Subject: pke-at: first-pass parse planning center json --- src/pke-at-data-interface.hpp | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/pke-at-data-interface.hpp (limited to 'src/pke-at-data-interface.hpp') diff --git a/src/pke-at-data-interface.hpp b/src/pke-at-data-interface.hpp new file mode 100644 index 0000000..ec10747 --- /dev/null +++ b/src/pke-at-data-interface.hpp @@ -0,0 +1,38 @@ +#ifndef PKE_AT_PKE_AT_DATA_INTERFACE_HPP +#define PKE_AT_PKE_AT_DATA_INTERFACE_HPP + +#include "pke-at-data-interface-types.hpp" + +enum pke_at_data_interface_result_code { + pke_at_data_interface_result_code_none = 0, + pke_at_data_interface_result_code_success = 1, + pke_at_data_interface_result_code_error = 2, +}; + +struct pke_at_data_interface_response { + pke_at_data_interface_result_code result_code; +}; + +template +struct pke_at_data_interface_response_t { + pke_at_data_interface_result_code result_code; + T *value; +}; + +#define FPADIR std::future +#define FPADIRT(T) std::future> +#define PPADIR std::promise +#define PPADIRT(T) std::promise> + +struct pke_at_data_interface { + pke_at_data_interface() = default; + virtual ~pke_at_data_interface() = default; + virtual void init() const = 0; + virtual void teardown() const = 0; + virtual FPADIRT(pk_arr_t) get_service_types() const = 0; + virtual FPADIRT(pk_arr_t) get_plans_upcoming_from_service_type() const = 0; + virtual FPADIRT(pk_arr_t) get_plan_items() const = 0; + // virtual FPADIRT(pk_arr_t) get_song_arrangements() const = 0; +}; + +#endif /* PKE_AT_PKE_AT_DATA_INTERFACE_HPP */ -- cgit v1.2.3