feat: added a few more packet definitions
This commit is contained in:
parent
e6fa8b694c
commit
2e84eca15a
51
src/lib.rs
51
src/lib.rs
|
@ -1,6 +1,7 @@
|
||||||
mod error;
|
mod error;
|
||||||
|
|
||||||
pub use error::Error;
|
pub use error::Error;
|
||||||
|
use std::collections::HashMap;
|
||||||
use std::fmt::Formatter;
|
use std::fmt::Formatter;
|
||||||
|
|
||||||
use aes_gcm_siv::{AeadInPlace, Aes256GcmSiv, Nonce};
|
use aes_gcm_siv::{AeadInPlace, Aes256GcmSiv, Nonce};
|
||||||
|
@ -23,29 +24,61 @@ impl IdPool {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||||
|
pub enum FormField {
|
||||||
|
String,
|
||||||
|
Password,
|
||||||
|
Integer,
|
||||||
|
Date,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||||
|
pub struct Message {
|
||||||
|
text: Option<String>,
|
||||||
|
attachments: Option<Vec<(String, Vec<u8>)>>,
|
||||||
|
}
|
||||||
|
|
||||||
#[repr(u32)]
|
#[repr(u32)]
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize, Display)]
|
#[derive(Debug, Clone, Serialize, Deserialize, Display)]
|
||||||
pub enum Request {
|
pub enum Request {
|
||||||
// Misc
|
// Misc
|
||||||
Close = 0x000_00000,
|
Close = 0x000_00000, // Core + CBS
|
||||||
|
|
||||||
// Handshake
|
// Handshake
|
||||||
HandshakeUpgradeConnection = 0x001_00000,
|
HandshakeUpgradeConnection = 0x001_00000, // CBS
|
||||||
HandshakeApiVersion(String) = 0x001_00001,
|
HandshakeApiVersion(String) = 0x001_00001, // Core + CBS
|
||||||
HandshakeConfig = 0x001_00002,
|
HandshakeConfig = 0x001_00002, // Core + CBS
|
||||||
HandshakeSuccess = 0x001_00003,
|
HandshakeSuccess = 0x001_00003, // Core
|
||||||
|
|
||||||
|
// Account Setup
|
||||||
|
AccountSetupSelectOption(Vec<String>) = 0x002_00000, // CBS
|
||||||
|
AccountSetupGetForm(HashMap<String, (FormField, bool)>) = 0x002_00001, // CBS
|
||||||
|
AccountSetupSuccess = 0x002_00002, // CBS
|
||||||
|
AccountSetupFailure(String) = 0x002_00003, // CBS
|
||||||
|
|
||||||
|
// Sync
|
||||||
|
InitialSyncReady = 0x003_00000, // CBS
|
||||||
|
|
||||||
|
// Chat
|
||||||
|
ChatReceivedMessage(String, Message) = 0x004_00000, // CBS
|
||||||
|
ChatReceivedEvent(String, String) = 0x004_00001, // CBS
|
||||||
}
|
}
|
||||||
|
|
||||||
#[repr(u32)]
|
#[repr(u32)]
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize, Display)]
|
#[derive(Debug, Clone, Serialize, Deserialize, Display)]
|
||||||
pub enum Response {
|
pub enum Response {
|
||||||
|
// Account Setup
|
||||||
|
AccountSetupSelectOption(u64) = 0x002_00000, // Core
|
||||||
|
AccountSetupFilledForm(HashMap<String, String>) = 0x002_00001, // Core
|
||||||
|
|
||||||
// Standard success / neutral responses
|
// Standard success / neutral responses
|
||||||
Success = 0xFFE_00000,
|
Success = 0xFFE_00000, // Core + CBS
|
||||||
Ackknowledged = 0xFFE_00001,
|
Ackknowledged = 0xFFE_00001, // Core + CBS
|
||||||
|
|
||||||
// Standard error responses
|
// Standard error responses
|
||||||
RessourceTimeout = 0xFFF_00000,
|
UnexpectedRequest = 0xFFF_00000, // Core + CBS
|
||||||
PermissionDenied = 0xFFF_00001,
|
RessourceTimeout = 0xFFF_00001, // Core + CBS
|
||||||
|
PermissionDenied = 0xFFF_00002, // Core
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||||
|
|
Reference in New Issue