Program Listing for File data.h
↰ Return to documentation for file (include/create/data.h
)
#ifndef CREATE_DATA_H
#define CREATE_DATA_H
#include <map>
#include <memory>
#include <vector>
#include "create/packet.h"
#include "create/types.h"
namespace create {
class Data {
private:
std::map<uint8_t, std::shared_ptr<Packet> > packets;
uint32_t totalDataBytes;
std::vector<uint8_t> ids;
public:
Data(ProtocolVersion version = V_3);
~Data();
bool isValidPacketID(const uint8_t id) const;
std::shared_ptr<Packet> getPacket(const uint8_t id);
void validateAll();
uint32_t getTotalDataBytes() const;
uint8_t getNumPackets() const;
std::vector<uint8_t> getPacketIDs();
};
} // namespace create
#endif // CREATE_DATA_H