#ifndef ENTITY_H #define ENTITY_H #include #include #include class Entity { public: enum class State { NEW, UPDATE, DELETE, OK }; virtual ~Entity() = 0; void createUuid(); void setUuidFromString(const std::string& uuidString); void setState(State state) { state_ = state; } void setSourceNo(int sourceNo); const boost::uuids::uuid& getUuid() const { return uuid_; }; std::string getUuidAsString() const { return boost::uuids::to_string(uuid_); } virtual State getState() const; virtual int getSourceNo() const; private: boost::uuids::uuid uuid_{}; State state_{State::NEW}; int sourceNo_{}; }; #endif // ENTITY_H