diff options
| author | Fuwn <[email protected]> | 2021-03-24 11:39:16 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2021-03-24 11:39:16 -0700 |
| commit | c9258b8d6fb8f10a7d75902d32f62a81c1c9d2b6 (patch) | |
| tree | e533b855bab228549cce7b2126111e051d1dd088 /src/server/auto | |
| parent | etc: Remove unused module and implement structures (diff) | |
| download | whirl-c9258b8d6fb8f10a7d75902d32f62a81c1c9d2b6.tar.xz whirl-c9258b8d6fb8f10a7d75902d32f62a81c1c9d2b6.zip | |
format: Move server type specific functions to correct modules
Diffstat (limited to 'src/server/auto')
| -rw-r--r-- | src/server/auto/cmd/mod.rs | 1 | ||||
| -rw-r--r-- | src/server/auto/cmd/property.rs | 71 | ||||
| -rw-r--r-- | src/server/auto/server.rs | 6 |
3 files changed, 75 insertions, 3 deletions
diff --git a/src/server/auto/cmd/mod.rs b/src/server/auto/cmd/mod.rs index addf7a5..5430662 100644 --- a/src/server/auto/cmd/mod.rs +++ b/src/server/auto/cmd/mod.rs @@ -1 +1,2 @@ +pub mod property; pub mod room; diff --git a/src/server/auto/cmd/property.rs b/src/server/auto/cmd/property.rs new file mode 100644 index 0000000..01d4f43 --- /dev/null +++ b/src/server/auto/cmd/property.rs @@ -0,0 +1,71 @@ +// struct NetToProperty { +// _prop_id: i32, +// _flags: i32, +// _access: i32, +// _string_value: String, +// _bin_value: Vec<i32>, +// } +// impl NetToProperty { +// fn parse_net_data() -> Self { +// NetToProperty { +// _prop_id: 0, +// _flags: 0, +// _access: 0, +// _string_value: "".to_string(), +// _bin_value: vec![] +// } +// } +// } + +// TODO: Decode received data and send back a valid response. +pub fn create_property_update_command() -> [u8; 147] { // Vec<u8> + // let mut property = Vec::with_capacity(2); + // property.push(0x01); // ? + // property.push(0x10); // Command type + // + // // Meaningful Data + // property.push(); // Property ID + // property.push(); // Flags + // property.push(); // Access + // + // // Insert data length as first byte. + // property.insert(0, property.len() as u8 + 1); // ^ + // + // property // Return created array + + [ + 0x93, 0xFF, 0x10, 0x1B, 0x80, 0x01, 0x0C, 0x77, 0x6F, + 0x72, 0x6C, 0x64, 0x73, 0x33, 0x64, 0x2E, 0x63, 0x6F, + 0x6D, 0x1A, 0x80, 0x01, 0x12, 0x6D, 0x61, 0x69, 0x6C, + 0x2E, 0x77, 0x6F, 0x72, 0x6C, 0x64, 0x73, 0x2E, 0x6E, + 0x65, 0x74, 0x3A, 0x32, 0x35, 0x19, 0x80, 0x01, 0x28, + 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x77, 0x77, + 0x77, 0x2D, 0x64, 0x79, 0x6E, 0x61, 0x6D, 0x69, 0x63, + 0x2E, 0x75, 0x73, 0x2E, 0x77, 0x6F, 0x72, 0x6C, 0x64, + 0x73, 0x2E, 0x6E, 0x65, 0x74, 0x2F, 0x63, 0x67, 0x69, + 0x2D, 0x62, 0x69, 0x6E, 0x18, 0x80, 0x01, 0x1F, 0x68, + 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x77, 0x77, 0x77, + 0x2D, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x2E, 0x75, + 0x73, 0x2E, 0x77, 0x6F, 0x72, 0x6C, 0x64, 0x73, 0x2E, + 0x6E, 0x65, 0x74, 0x0F, 0x80, 0x01, 0x01, 0x31, 0x03, + 0x80, 0x01, 0x02, 0x32, 0x34, 0x01, 0x80, 0x01, 0x0C, + 0x57, 0x4F, 0x52, 0x4C, 0x44, 0x53, 0x4D, 0x41, 0x53, + 0x54, 0x45, 0x52 + ]: [u8; 147] +} + +pub fn create_property_request_command() -> [u8; 61] { + [ + 0x3D, 0x01, 0x06, 0x04, 0x01, 0x30, 0x01, 0x0C, + 0x57, 0x4F, 0x52, 0x4C, 0x44, 0x53, 0x4D, 0x41, + 0x53, 0x54, 0x45, 0x52, 0x03, 0x02, 0x32, 0x34, + 0x0F, 0x01, 0x31, 0x0A, 0x10, + + // VAR_SERIAL + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0x16, 0x01, 0x30, 0x05, 0x0B, 0x64, 0x69, 0x6D, + 0x65, 0x6E, 0x73, 0x69, 0x6F, 0x6E, 0x2D, 0x31 + ]: [u8; 61] +} diff --git a/src/server/auto/server.rs b/src/server/auto/server.rs index d9a8d0e..381852f 100644 --- a/src/server/auto/server.rs +++ b/src/server/auto/server.rs @@ -3,9 +3,9 @@ use std::io::{Read, Write}; use mio::{Poll, Token, Ready, PollOpt, Events}; use std::collections::{HashMap, HashSet}; use std::str::from_utf8; -use crate::cmd::buddy_list::create_buddy_list_notify_command; -use crate::cmd::text::{create_text_command, create_text_command_with_action}; -use crate::cmd::property::{create_property_update_command, create_property_request_command}; +use crate::server::cmd::buddy_list::create_buddy_list_notify_command; +use crate::server::cmd::text::{create_text_command, create_text_command_with_action}; +use super::cmd::property::{create_property_update_command, create_property_request_command}; use super::cmd::room::create_room_id_redirect_command; use rand::Rng; use crate::server::utils::broadcast_to_all_clients; |