trixy 0.4.0

A rust crate used to generate multi-language apis for your application
Documentation
/*
* Copyright (C) 2023 - 2024:
* The Trinitrix Project <soispha@vhack.eu, antifallobst@systemausfall.org>
* SPDX-License-Identifier: GPL-3.0-or-later
*
* This file is part of the Trixy crate for Trinitrix.
*
* Trixy is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 3 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* and the GNU General Public License along with this program.
* If not, see <https://www.gnu.org/licenses/>.
*/

pub mod api;
pub use api::*;

#[test]
pub fn trinitrix_api() {
    // This test is only testing for compile time support and API compatibility.
    // Thus no real code.
}

fn callback_function(cmd: Commands) {
    match cmd {
        Commands::Trinitrix(trinitrix) => match trinitrix {
            trinitrix::Trinitrix::Stdi(stdi) => match stdi {},
            trinitrix::Trinitrix::Api(api) => match api {
                trinitrix::api::Api::exit => todo!(),
                trinitrix::api::Api::room_message_send { message } => todo!(),
                trinitrix::api::Api::Ui(ui) => match ui {
                    trinitrix::api::ui::Ui::set_mode { mode } => todo!(),
                    trinitrix::api::ui::Ui::cycle_planes => todo!(),
                    trinitrix::api::ui::Ui::cycle_planes_rev => todo!(),
                },
                trinitrix::api::Api::Keymaps(keymaps) => match keymaps {
                    trinitrix::api::keymaps::Keymaps::add {
                        mode,
                        key,
                        callback,
                    } => todo!(),
                    trinitrix::api::keymaps::Keymaps::remove { mode, key } => todo!(),
                    trinitrix::api::keymaps::Keymaps::get { mode } => todo!(),
                },
                trinitrix::api::Api::Raw(raw) => match raw {
                    trinitrix::api::raw::Raw::raise_error { error_message } => todo!(),
                    trinitrix::api::raw::Raw::display_output { output_message } => todo!(),
                    trinitrix::api::raw::Raw::send_input_unprocessed { input } => todo!(),
                    trinitrix::api::raw::Raw::Private(private) => match private {},
                },
            },
        },
    }
}