kima2/src/core/entity.h

26 lines
553 B
C++

#ifndef ENTITY_H
#define ENTITY_H
#include <string>
#include <boost/uuid/uuid.hpp>
#include <boost/uuid/uuid_io.hpp>
class Entity
{
public:
enum class State { NEW, UPDATE, DELETE, OK };
virtual ~Entity() = 0;
const boost::uuids::uuid& getUuid() const { return uuid_; };
void createUuid();
void setUuidFromString(const std::string& uuidString);
virtual State getState() const;
void setState(State state) { state_ = state; }
private:
boost::uuids::uuid uuid_{};
State state_{State::NEW};
};
#endif // ENTITY_H