euroscope_sys/ffi/
selectors.rs1use std::ffi::{c_char, c_int};
7
8use crate::{EsHandle, PluginPtr};
9
10unsafe extern "C" {
11 pub fn es_flightplan_free(fp: EsHandle);
13 pub fn es_plugin_flightplan_select_first(plugin: PluginPtr) -> EsHandle;
14 pub fn es_plugin_flightplan_select_next(plugin: PluginPtr, current: EsHandle) -> EsHandle;
15 pub fn es_plugin_flightplan_select_asel(plugin: PluginPtr) -> EsHandle;
16 pub fn es_plugin_flightplan_select(plugin: PluginPtr, callsign: *const c_char) -> EsHandle;
17 pub fn es_flightplan_correlated_radar_target(fp: EsHandle) -> EsHandle;
18
19 pub fn es_radartarget_free(rt: EsHandle);
21 pub fn es_plugin_radartarget_select_first(plugin: PluginPtr) -> EsHandle;
22 pub fn es_plugin_radartarget_select_next(plugin: PluginPtr, current: EsHandle) -> EsHandle;
23 pub fn es_plugin_radartarget_select_asel(plugin: PluginPtr) -> EsHandle;
24 pub fn es_plugin_radartarget_select(plugin: PluginPtr, callsign: *const c_char) -> EsHandle;
25 pub fn es_radartarget_correlated_flight_plan(rt: EsHandle) -> EsHandle;
26 pub fn es_radartarget_current_position(rt: EsHandle) -> EsHandle;
28 pub fn es_radartarget_previous_position(rt: EsHandle, current: EsHandle) -> EsHandle;
30 pub fn es_flightplan_track_position(fp: EsHandle) -> EsHandle;
32
33 pub fn es_controller_free(c: EsHandle);
35 pub fn es_plugin_controller_select_first(plugin: PluginPtr) -> EsHandle;
36 pub fn es_plugin_controller_select_next(plugin: PluginPtr, current: EsHandle) -> EsHandle;
37 pub fn es_plugin_controller_select(plugin: PluginPtr, callsign: *const c_char) -> EsHandle;
38 pub fn es_plugin_controller_select_by_position_id(
39 plugin: PluginPtr,
40 position_id: *const c_char,
41 ) -> EsHandle;
42 pub fn es_plugin_controller_myself(plugin: PluginPtr) -> EsHandle;
43
44 pub fn es_plugin_transition_altitude(plugin: PluginPtr) -> c_int;
46 pub fn es_plugin_set_asel_flightplan(plugin: PluginPtr, fp: EsHandle);
47 pub fn es_plugin_set_asel_radartarget(plugin: PluginPtr, rt: EsHandle);
48 pub fn es_plugin_get_data_from_settings(plugin: PluginPtr, key: *const c_char)
49 -> *const c_char;
50 pub fn es_plugin_save_data_to_settings(
51 plugin: PluginPtr,
52 key: *const c_char,
53 description: *const c_char,
54 value: *const c_char,
55 );
56
57 pub fn es_fplist_free(list: EsHandle);
59 pub fn es_plugin_register_fp_list(plugin: PluginPtr, name: *const c_char) -> EsHandle;
60
61 pub fn es_sectorelement_free(el: EsHandle);
63 pub fn es_plugin_sectorelement_select_first(plugin: PluginPtr, element_type: c_int)
64 -> EsHandle;
65 pub fn es_plugin_sectorelement_select_next(
66 plugin: PluginPtr,
67 current: EsHandle,
68 element_type: c_int,
69 ) -> EsHandle;
70
71 pub fn es_gtachannel_free(ch: EsHandle);
73 pub fn es_plugin_gtachannel_select_first(plugin: PluginPtr) -> EsHandle;
74 pub fn es_plugin_gtachannel_select_next(plugin: PluginPtr, current: EsHandle) -> EsHandle;
75}