AppChat  0.5.0
TCP client-server caht application with boost::asio library.
iroom.h
1 #ifndef ROOM_H
2 #define ROOM_H
3 
4 #include <memory>
5 #include <string_view>
6 
7 #include "server/connection/isubscriber.h"
8 #include "protocol/protocol.h"
9 
14 class IRoom
15 {
16 public:
17 
23  virtual void join(subscriber_ptr subcriber) = 0;
24 
30  virtual void leave(subscriber_ptr subscriber) = 0;
31 
36  virtual void notification(text_response_ptr subscriber) = 0;
37 
43  virtual identifier_t get_room_id() const = 0;
44 
49  virtual ~IRoom() = default;
50 };
51 
52 using iroom_ptr = std::shared_ptr<IRoom>;
53 
54 #endif // ROOM_H
virtual void notification(text_response_ptr subscriber)=0
Notify all room&#39;s subscribers about new message.
virtual void leave(subscriber_ptr subscriber)=0
Leave a user from channel.
virtual identifier_t get_room_id() const =0
Get the room id object.
virtual ~IRoom()=default
Default virtual destructor.
Room interface.
Definition: iroom.h:14
virtual void join(subscriber_ptr subcriber)=0
Join a user to channel.