Squashed 'libs/CommService/' content from commit 7ccc0fc
git-subtree-dir: libs/CommService git-subtree-split: 7ccc0fce88bbc5969df060058cf0fb57abe3bcf9
This commit is contained in:
31
include/CommService/transmittable.hpp
Normal file
31
include/CommService/transmittable.hpp
Normal file
@@ -0,0 +1,31 @@
|
||||
#ifndef __TRANSMITTABLE__
|
||||
#define __TRANSMITTABLE__
|
||||
|
||||
|
||||
#include <vector>
|
||||
#include <functional>
|
||||
|
||||
namespace CommService
|
||||
{
|
||||
/**
|
||||
* @brief abstract class providing the interface for classes being transmittable through a network
|
||||
*
|
||||
* the developer has to make sure that the correct endianess is used in the toByteVector function
|
||||
* and in the Factory for each Class
|
||||
*/
|
||||
class transmittable
|
||||
{
|
||||
public:
|
||||
|
||||
/**
|
||||
* @brief converts the information of the class (the attributes) to a byte vector
|
||||
*
|
||||
* @param byteVector - returns a std::vector of bytes representing the class
|
||||
*/
|
||||
virtual std::vector<unsigned char> toByteVector() const = 0;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user