Browse Source

Add RoomListRequest.

wip
Titouan Rigoudy 10 years ago
parent
commit
d4ab1f2ae7
1 changed files with 29 additions and 4 deletions
  1. +29
    -4
      src/proto/server.rs

+ 29
- 4
src/proto/server.rs View File

@ -12,8 +12,13 @@ const VERSION_MINOR: u32 = 0;
const CODE_LOGIN: u32 = 1; const CODE_LOGIN: u32 = 1;
const CODE_ROOM_LIST: u32 = 64; const CODE_ROOM_LIST: u32 = 64;
trait WriteToPacket {
fn write_to_packet(&self, &mut Packet) -> io::Result<()>;
}
pub enum ServerRequest { pub enum ServerRequest {
LoginRequest(LoginRequest), LoginRequest(LoginRequest),
RoomListRequest(RoomListRequest),
} }
impl ServerRequest { impl ServerRequest {
@ -21,16 +26,15 @@ impl ServerRequest {
let (mut packet, request): (Packet, &WriteToPacket) = match *self { let (mut packet, request): (Packet, &WriteToPacket) = match *self {
ServerRequest::LoginRequest(ref request) => ServerRequest::LoginRequest(ref request) =>
(Packet::new(CODE_LOGIN), request), (Packet::new(CODE_LOGIN), request),
ServerRequest::RoomListRequest(ref request) =>
(Packet::new(CODE_ROOM_LIST), request),
}; };
try!(request.write_to_packet(&mut packet)); try!(request.write_to_packet(&mut packet));
Ok(packet) Ok(packet)
} }
} }
trait WriteToPacket {
fn write_to_packet(&self, &mut Packet) -> io::Result<()>;
}
pub enum ServerResponse { pub enum ServerResponse {
LoginResponse(LoginResponse), LoginResponse(LoginResponse),
UnknownResponse(u32, Packet), UnknownResponse(u32, Packet),
@ -54,6 +58,10 @@ fn md5_str(string: &str) -> String {
hasher.result_str() hasher.result_str()
} }
/*=======*
* LOGIN *
*=======*/
pub struct LoginRequest { pub struct LoginRequest {
username: String, username: String,
password: String, password: String,
@ -123,3 +131,20 @@ impl LoginResponse {
} }
} }
/*===========*
* ROOM LIST *
*===========*/
pub struct RoomListRequest;
impl RoomListRequest {
pub fn new() -> Self {
RoomListRequest
}
}
impl WriteToPacket for RoomListRequest {
fn write_to_packet(&self, packet: &mut Packet) -> io::Result<()> {
Ok(())
}
}

Loading…
Cancel
Save