fixed object generation on nested objects
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
#ifndef SHADOW_SCHEMA_HPP
|
||||
#define SHADOW_SCHEMA_HPP
|
||||
|
||||
#include "matador/object/basic_object_info.hpp"
|
||||
|
||||
#include "matador/utils/result.hpp"
|
||||
#include "matador/utils/error.hpp"
|
||||
|
||||
@@ -10,6 +12,7 @@
|
||||
namespace matador::object {
|
||||
class repository;
|
||||
class repository_node;
|
||||
class object;
|
||||
}
|
||||
|
||||
namespace matador::object::internal {
|
||||
@@ -22,6 +25,7 @@ public:
|
||||
|
||||
[[nodiscard]] repository& repo() const;
|
||||
[[nodiscard]] bool contains(const std::type_index& ti) const;
|
||||
[[nodiscard]] utils::result<basic_object_info_ref, utils::error> basic_info(const std::type_index& ti) const;
|
||||
[[nodiscard]] utils::result<node_ptr, utils::error> find_node(const std::type_index &type_index) const;
|
||||
[[nodiscard]] utils::result<node_ptr, utils::error> find_node(const std::string &name) const;
|
||||
[[nodiscard]] utils::result<node_ptr, utils::error> attach_node(const std::shared_ptr<repository_node> &node) const;
|
||||
@@ -31,6 +35,11 @@ public:
|
||||
void expect_relation_node(const std::string &name, const std::type_index &ti) const;
|
||||
void remove_expected_relation_node(const std::string &name) const;
|
||||
|
||||
[[nodiscard]] std::shared_ptr<object> provide_object_in_advance(const std::type_index &ti, const std::shared_ptr<object>& obj) const;
|
||||
[[nodiscard]] bool has_object_for_type(const std::type_index &ti) const;
|
||||
[[nodiscard]] std::shared_ptr<object> object_for_type(const std::type_index &ti) const;
|
||||
void remove_object_for_type(const std::type_index &ti) const;
|
||||
|
||||
private:
|
||||
repository& repo_;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user