summaryrefslogtreecommitdiff
path: root/include/erebos/identity.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/erebos/identity.h')
-rw-r--r--include/erebos/identity.h19
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;