Skip to content
Snippets Groups Projects
Commit 3f9227e3 authored by florian's avatar florian
Browse files

WIP: Add errors, warnings, and infos to Parent

parent aa452a69
No related branches found
No related tags found
1 merge request!4ENH: Allow insertion and deletion of single entities
Pipeline #11113 failed
This commit is part of merge request !4. Comments created here will be created in the context of that merge request.
...@@ -54,6 +54,8 @@ public: ...@@ -54,6 +54,8 @@ public:
} }
friend class Entity; friend class Entity;
friend class Parent;
friend class Property;
friend class Messages; friend class Messages;
private: private:
...@@ -74,6 +76,8 @@ public: ...@@ -74,6 +76,8 @@ public:
} }
friend class Entity; friend class Entity;
friend class Parent;
friend class Property;
private: private:
inline Messages() : wrapped(nullptr){}; inline Messages() : wrapped(nullptr){};
...@@ -139,15 +143,27 @@ public: ...@@ -139,15 +143,27 @@ public:
/** /**
* Return the error messages of this parent. * Return the error messages of this parent.
*/ */
[[nodiscard]] inline auto GetErrors() const -> const Messages &; [[nodiscard]] inline auto GetErrors() const -> const Messages & {
return errors;
}
[[nodiscard]] inline auto HasErrors() const -> bool {
return this->errors.wrapped->size() > 0;
}
/** /**
* Return the warning messages of this parent. * Return the warning messages of this parent.
*/ */
[[nodiscard]] inline auto GetWarnings() const -> const Messages &; [[nodiscard]] inline auto GetWarnings() const -> const Messages & {
return warnings;
}
[[nodiscard]] inline auto HasWarnings() const -> bool {
return this->warnings.wrapped->size() > 0;
}
/** /**
* Return the info messages of this parent. * Return the info messages of this parent.
*/ */
[[nodiscard]] inline auto GetInfos() const -> const Messages &; [[nodiscard]] inline auto GetInfos() const -> const Messages & {
return infos;
}
friend class Entity; friend class Entity;
friend class Parents; friend class Parents;
...@@ -169,6 +185,9 @@ private: ...@@ -169,6 +185,9 @@ private:
* Message which serves as storage backend. * Message which serves as storage backend.
*/ */
mutable caosdb::entity::v1alpha1::Parent *wrapped; mutable caosdb::entity::v1alpha1::Parent *wrapped;
Messages errors;
Messages warnings;
Messages infos;
}; };
/** /**
......
...@@ -28,7 +28,11 @@ using ProtoParent = caosdb::entity::v1alpha1::Parent; ...@@ -28,7 +28,11 @@ using ProtoParent = caosdb::entity::v1alpha1::Parent;
using ProtoEntity = caosdb::entity::v1alpha1::Entity; using ProtoEntity = caosdb::entity::v1alpha1::Entity;
using caosdb::utility::get_arena; using caosdb::utility::get_arena;
Parent::Parent() : wrapped(Parent::CreateProtoParent()) {} Parent::Parent() : wrapped(Parent::CreateProtoParent()) {
errors.wrapped = this->wrapped->mutable_errors();
warnings.wrapped = this->wrapped->mutable_warnings();
infos.wrapped = this->wrapped->mutable_infos();
}
auto Parent::CreateProtoParent() -> ProtoParent * { auto Parent::CreateProtoParent() -> ProtoParent * {
return google::protobuf::Arena::CreateMessage<ProtoParent>(get_arena()); return google::protobuf::Arena::CreateMessage<ProtoParent>(get_arena());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment