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;