Print authentication status when nativehelper connection closes
This commit is contained in:
parent
e6180e9ff5
commit
807a8bb40a
2 changed files with 17 additions and 1 deletions
|
|
@ -18,6 +18,7 @@ panic = 'abort'
|
|||
strip = true
|
||||
|
||||
[dependencies]
|
||||
lazy_static = "1.5.0"
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde_json = "1.0"
|
||||
steamworks = "0.10.0"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
use lazy_static::lazy_static;
|
||||
use serde_json::Value;
|
||||
use std::io;
|
||||
use std::io::Read;
|
||||
|
|
@ -5,6 +6,7 @@ use std::process;
|
|||
use std::sync::Arc;
|
||||
use std::sync::atomic::AtomicBool;
|
||||
use std::sync::atomic::Ordering;
|
||||
use std::sync::Mutex;
|
||||
use std::sync::mpsc::Sender;
|
||||
use std::sync::mpsc::channel;
|
||||
use std::thread;
|
||||
|
|
@ -17,6 +19,10 @@ use websocket::client::ClientBuilder;
|
|||
use websocket::{Message, OwnedMessage};
|
||||
|
||||
|
||||
lazy_static! {
|
||||
static ref AUTHENTICATED: Mutex<bool> = Mutex::new(false);
|
||||
}
|
||||
|
||||
fn connect() -> (Sender<OwnedMessage>, JoinHandle<()>) {
|
||||
println!("Read connection parameters");
|
||||
let mut json = String::new();
|
||||
|
|
@ -121,7 +127,12 @@ fn handle_message(nl_token: &String, tx: Sender<OwnedMessage>, message: String)
|
|||
if message.contains("event\":\"request_authentication\"") {
|
||||
authenticate(tx, nl_token.clone());
|
||||
} else if message.contains("event\":\"clientDisconnect\"") {
|
||||
println!("Authentication complete, exiting extension ...");
|
||||
let authenticated = AUTHENTICATED.lock().unwrap();
|
||||
if *authenticated {
|
||||
println!("Authenticated, exiting extension ...");
|
||||
} else {
|
||||
println!("Unauthenticated, exiting extension ...");
|
||||
}
|
||||
process::exit(0);
|
||||
}
|
||||
}
|
||||
|
|
@ -136,6 +147,10 @@ fn authenticate(tx: Sender<OwnedMessage>, nl_token: String) {
|
|||
let _callback =
|
||||
client.register_callback(move |session_ticket_response: AuthSessionTicketResponse| {
|
||||
//if session_ticket_response.ticket == ticket_handle {
|
||||
if session_ticket_response.result.is_ok() {
|
||||
let mut authenticated = AUTHENTICATED.lock().unwrap();
|
||||
*authenticated = true;
|
||||
}
|
||||
println!("Ticket Response Result: {:?}", session_ticket_response.result);
|
||||
callback_called.store(true, Ordering::Relaxed);
|
||||
// println!("Ticket : {:?}", session_ticket_response.ticket);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue