origin-sdk 0.2.0

A Rust implementation of the Origin SDK, which is used in games to communicate with the EA Desktop client.
Documentation
use serde::{Deserialize, Serialize};

#[derive(Debug, Serialize, Deserialize)]
pub struct ChatMessageEvent {
    #[serde(rename = "@FromId")]
    pub from_id: u64,
    #[serde(rename = "@GroupId")]
    pub group_id: String,
    #[serde(rename = "@Thread")]
    pub thread: String,
    #[serde(rename = "@Message")]
    pub message: String,
}

#[derive(Debug, Serialize, Deserialize)]
pub enum ChatState {
    #[serde(rename = "USER_WRITING_START")]
    UserWritingStart,
    #[serde(rename = "USER_WRITING_END")]
    UserWritingEnd,
}

#[derive(Debug, Serialize, Deserialize)]
pub struct ChatStateUpdateEvent {
    #[serde(rename = "@UserId")]
    pub user_id: u64,
    #[serde(rename = "@State")]
    pub state: ChatState,
}

#[derive(Debug, Serialize, Deserialize)]
pub struct SendChatMessage {
    #[serde(rename = "@FromId")]
    pub from_id: u64,
    #[serde(rename = "@ToId")]
    pub to_id: u64,
    #[serde(rename = "@Thread")]
    pub thread: String,
    #[serde(rename = "@Message")]
    pub message: String,
    #[serde(rename = "@GroupId")]
    pub group_id: String,
}