Browse Source

Handle RoomTickersResponse.

wip
Titouan Rigoudy 9 years ago
parent
commit
f1eb221e88
2 changed files with 28 additions and 0 deletions
  1. +12
    -0
      src/client.rs
  2. +16
    -0
      src/room.rs

+ 12
- 0
src/client.rs View File

@ -277,6 +277,9 @@ impl Client {
ServerResponse::RoomMessageResponse(response) =>
self.handle_room_message_response(response),
ServerResponse::RoomTickersResponse(response) =>
self.handle_room_tickers_response(response),
ServerResponse::RoomUserJoinedResponse(response) =>
self.handle_room_user_joined_response(response),
@ -395,6 +398,15 @@ impl Client {
control::Response::RoomMessageResponse(control_response));
}
fn handle_room_tickers_response(&mut self, response: RoomTickersResponse) {
let result = self.rooms.set_tickers(
&response.room_name, response.tickers
);
if let Err(e) = result {
error!("RoomTickersResponse: {}", e);
}
}
fn handle_room_user_joined_response(
&mut self, response: RoomUserJoinedResponse)
{


+ 16
- 0
src/room.rs View File

@ -62,6 +62,8 @@ pub struct Room {
pub members: collections::HashSet<String>,
/// The messages sent to this chat room, in chronological order.
pub messages: Vec<Message>,
/// The tickers displayed in this room.
pub tickers: Vec<(String, String)>
}
impl Room {
@ -76,6 +78,7 @@ impl Room {
operators: collections::HashSet::new(),
members: collections::HashSet::new(),
messages: Vec::new(),
tickers: Vec::new(),
}
}
}
@ -337,5 +340,18 @@ impl RoomMap {
room.members.remove(user_name);
Ok(())
}
/*---------*
* Tickers *
*---------*/
pub fn set_tickers(
&mut self, room_name: &str, tickers: Vec<(String, String)>)
-> Result<(), Error>
{
let room = try!(self.get_mut_strict(room_name));
room.tickers = tickers;
Ok(())
}
}

Loading…
Cancel
Save