usdpl_back/
lib.rs

1//! Back-end library for plugins.
2//! Targets x86_64 (native Steam Deck ISA).
3//!
4//! This is a minimalist web server for handling events from the front-end.
5//!
6#![warn(missing_docs)]
7
8#[cfg(not(any(feature = "decky")))]
9mod api_any;
10mod api_common;
11#[cfg(all(feature = "decky", not(any(feature = "any"))))]
12mod api_decky;
13
14mod rpc;
15mod services_impl;
16
17//mod errors;
18mod websockets;
19
20pub use websockets::WebsocketServer as Server;
21//pub use errors::{ServerError, ServerResult};
22
23
24#[allow(missing_docs)]
25#[allow(dead_code)]
26pub(crate) mod services {
27    include!(concat!(env!("OUT_DIR"), "/mod.rs"));
28}
29
30/// USDPL backend API.
31/// This contains functionality used exclusively by the back-end.
32pub mod api {
33    pub use super::api_common::*;
34
35    /// Standard interfaces not specific to a single plugin loader
36    #[cfg(not(any(feature = "decky")))]
37    pub mod any {
38        pub use super::super::api_any::*;
39    }
40
41    /// Decky-specific interfaces
42    #[cfg(all(feature = "decky", not(any(feature = "any"))))]
43    pub mod decky {
44        pub use super::super::api_decky::*;
45    }
46}
47
48/// usdpl-core re-export
49pub mod core {
50    pub use usdpl_core::*;
51}
52
53/// nrpc re-export
54pub mod nrpc {
55    pub use nrpc::*;
56}
57
58/*/// nRPC-generated exports
59#[allow(missing_docs)]
60#[allow(dead_code)]
61pub mod services {
62    include!(concat!(env!("OUT_DIR"), "/mod.rs"));
63}*/