diff options
Diffstat (limited to 'include/erebos/identity.h')
-rw-r--r-- | include/erebos/identity.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/erebos/identity.h b/include/erebos/identity.h index 7b66d82..f57a12e 100644 --- a/include/erebos/identity.h +++ b/include/erebos/identity.h @@ -12,6 +12,25 @@ public: std::optional<std::string> name() const; std::optional<Identity> owner() const; + std::optional<Ref> ref() const; + + class Builder + { + public: + Identity commit() const; + + void name(const std::string &); + void owner(const Identity &); + + private: + friend class Identity; + struct Priv; + const std::shared_ptr<Priv> p; + Builder(Priv * p): p(p) {} + }; + + static Builder create(const Storage &); + Builder modify() const; private: struct Priv; |