#ifndef PKE_AT_PKE_AT_DATA_INTERFACE_TYPES_HPP #define PKE_AT_PKE_AT_DATA_INTERFACE_TYPES_HPP #include "pke-at-setlist-types.hpp" #include union di_data_id { long id_long; }; struct di_service_type_details { di_data_id id; pk_cstr name; }; struct di_service_type { di_service_type_details details{}; }; struct di_plan_details { di_data_id id; time_t date; pk_cstr title; pk_cstr series_title; }; struct di_plan { di_plan_details details{}; }; struct di_song_details { di_data_id id; pk_cstr title; long ccli; }; struct di_song { di_song_details details{}; }; struct di_arrangement_details { di_data_id id; pk_cstr title; pk_arr_t sequence; uint8_t beats_per_minute; uint8_t beats_per_bar; PKE_AT_KEY_INDEX chord_chart_key; }; struct di_arrangement { di_arrangement_details details{}; }; struct di_arrangement_key_details { di_data_id id; PKE_AT_KEY_INDEX key; }; struct di_arrangement_key { di_arrangement_key_details details{}; }; struct di_plan_item_details { di_data_id id; PKE_AT_KEY_INDEX key; uint8_t sequence; }; struct di_plan_item { di_plan_item_details details{}; di_song song{}; di_arrangement arrangement{}; di_arrangement_key key{}; }; #endif /* PKE_AT_PKE_AT_DATA_INTERFACE_TYPES_HPP */