COVISE Core
message_sender_interface.h
Go to the documentation of this file.
1/* This file is part of COVISE.
2
3 You can use it under the terms of the GNU Lesser General Public License
4 version 2.1 or later, see lgpl-2.1.txt.
5
6 * License: LGPL 2+ */
7
8#ifndef MESSAGE_SENDER_INTERFACE_H
9#define MESSAGE_SENDER_INTERFACE_H
10#include <util/coExport.h>
11namespace covise
12{
13 class TokenBuffer;
14 class MessageBase;
15 class Message;
16 class UdpMessage;
17enum class Protocol { TCP, UDP};
18
20 {
21 public:
23 virtual ~MessageSenderInterface() = default;
24 bool send(const covise::MessageBase *msg) const;
25 bool send(const covise::Message *msg) const;
26 bool send(const UdpMessage *msg) const;
27 bool send(covise::TokenBuffer &tb, int type, Protocol p = Protocol::TCP) const;
28protected:
29 virtual bool sendMessage(const covise::Message *msg) const = 0;
30 virtual bool sendMessage(const UdpMessage *msg) const = 0;
31 };
32
33} // namespace covise
34
35#endif // ! MESSAGE_SENDER_INTERFACE_H
#define NETEXPORT
Definition: coExport.h:373
GLfloat GLfloat p
Definition: khronos-glext.h:9861
GLenum type
Definition: khronos-glext.h:6279
list of all chemical elements
Definition: coConfig.h:27
Protocol
Definition: message_sender_interface.h:17
Definition: message.h:65
Definition: message.h:76
Definition: message_sender_interface.h:20
virtual bool sendMessage(const UdpMessage *msg) const =0
virtual bool sendMessage(const covise::Message *msg) const =0
virtual ~MessageSenderInterface()=default
Definition: tokenbuffer.h:79
Definition: udpMessage.h:32