1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
//! Helper library for the [CS:GO Game State Integration (GSI) API][gsi].
//!
//! Best used with the [tokio](https://tokio.rs/) async ecosystem.
//!
//! [gsi]: https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Game_State_Integration
//!
//! # Simple Example
//!
//! ```no_run
//! use csgo_gsi::{GSIConfigBuilder, GSIServer, Subscription};
//!
//! #[tokio::main]
//! async fn main() {
//! let config = GSIConfigBuilder::new("csgo-gsi Example")
//! .subscribe_multiple(Subscription::UNRESTRICTED)
//! .build();
//!
//! let mut server = GSIServer::new(config, 31337);
//! server.add_listener(|update| println!("Got an update {:#?}", update));
//!
//! server
//! .run()
//! .await
//! .expect("server didn't start");
//! }
//! ```
#![deny(missing_docs)]
#![doc(html_root_url = "https://docs.rs/csgo-gsi/0.3.0")]
#[macro_use]
extern crate gotham_derive;
mod config;
mod error;
mod install_dir;
mod server;
pub mod update;
pub use config::{Subscription, GSIConfigBuilder, GSIConfig};
pub use error::Error;
pub use server::GSIServer;
pub use update::Update;