hub.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __NETCOMM_FAWKES_HUB_H_
00025 #define __NETCOMM_FAWKES_HUB_H_
00026
00027 namespace fawkes {
00028
00029 class FawkesNetworkMessage;
00030 class FawkesNetworkHandler;
00031 class FawkesNetworkMessageContent;
00032
00033 class FawkesNetworkHub
00034 {
00035 public:
00036 virtual ~FawkesNetworkHub();
00037
00038 virtual void broadcast(FawkesNetworkMessage *msg) = 0;
00039
00040 virtual void broadcast(unsigned short int component_id,
00041 unsigned short int msg_id,
00042 void *payload, unsigned int payload_size) = 0;
00043
00044 virtual void broadcast(unsigned short int component_id,
00045 unsigned short int msg_id) = 0;
00046
00047
00048 virtual void send(FawkesNetworkMessage *msg) = 0;
00049
00050 virtual void send(unsigned int to_clid,
00051 unsigned short int component_id,
00052 unsigned short int msg_id) = 0;
00053
00054 virtual void send(unsigned int to_clid,
00055 unsigned short int component_id,
00056 unsigned short int msg_id,
00057 void *payload, unsigned int payload_size) = 0;
00058
00059 virtual void send(unsigned int to_clid,
00060 unsigned short int component_id,
00061 unsigned short int msg_id,
00062 FawkesNetworkMessageContent *content) = 0;
00063
00064 virtual void add_handler(FawkesNetworkHandler *handler) = 0;
00065 virtual void remove_handler(FawkesNetworkHandler *handler) = 0;
00066
00067
00068 virtual void force_send() = 0;
00069
00070 };
00071
00072 }
00073
00074 #endif