24 #ifndef __FIREVISION_FVUTILS_NET_FUSE_MESSAGE_H_ 25 #define __FIREVISION_FVUTILS_NET_FUSE_MESSAGE_H_ 27 #include <core/utils/refcount.h> 28 #include <core/exceptions/software.h> 29 #include <fvutils/net/fuse.h> 30 #include <sys/types.h> 39 class FuseMessageContent;
47 bool copy_payload =
false);
52 uint32_t
type()
const;
65 template <
typename MT>
83 template <
typename MT>
90 void *tmp = malloc(
sizeof(MT));
105 template <
typename MT>
115 throw fawkes::Exception(
"Unknown exception caught while parsing complex network message");
121 void set_payload(
void *payload,
size_t payload_size);
FUSE_message_t _msg
Internal message.
FuseNetworkMessage()
Constructor.
MT * msg_copy() const
Get copy of correctly casted payload.
void set_payload(void *payload, size_t payload_size)
Set payload.
void * payload() const
Get pointer to payload.
MT * msgc() const
Get correctly parsed output.
uint32_t type() const
Get message type.
void pack()
Pack data for sending.
Base class for exceptions in Fawkes.
Reference counting base class.
~FuseNetworkMessage()
Destructor.
MT * msg() const
Get correctly casted payload.
const FUSE_message_t & fmsg() const
Get plain message.
size_t payload_size() const
Get payload size.