3D Repo Bouncer  1.4
repo_diff_name.h
1 
18 /*
19 * Simple Diff Comparison - only compare names
20 */
21 
22 #pragma once
23 
24 #include "repo_diff_abstract.h"
25 
26 namespace repo{
27  namespace manipulator{
28  namespace diff{
29  class DiffByName : public AbstractDiff
30  {
31  public:
38  DiffByName(
39  const repo::core::model::RepoScene *base,
40  const repo::core::model::RepoScene *compare,
42  = repo::core::model::RepoScene::GraphType::DEFAULT);
43  virtual ~DiffByName();
44 
50  virtual bool isOk(std::string &msg) const
51  {
52  msg = this->msg;
53  return ok;
54  };
55 
56  private:
60  bool compare(
61  std::string &msg);
62 
70  void compareNodes(
71  std::set<repoUUID> &baseIDs,
72  std::set<repoUUID> &compIDs,
73  const repo::core::model::RepoNodeSet &baseNodes,
74  const repo::core::model::RepoNodeSet &compNodes);
75 
81  std::unordered_map<std::string, repo::core::model::RepoNode*>
82  createNodeMap(
83  const repo::core::model::RepoNodeSet &nodes);
84 
85  bool ok; //Check if comparator status is ok
86  bool errorReported;
87  std::string msg; //error message if comaprator statis is false
88  };
89  }
90  }
91 }
virtual bool isOk(std::string &msg) const
Definition: repo_diff_name.h:50
Definition: repo_connection_pool_mongo.h:32
DiffByName(const repo::core::model::RepoScene *base, const repo::core::model::RepoScene *compare, const repo::core::model::RepoScene::GraphType &gType=repo::core::model::RepoScene::GraphType::DEFAULT)
Definition: repo_diff_name.cpp:22
Definition: repo_diff_name.h:29
Definition: repo_scene.h:44
Definition: repo_diff_abstract.h:26
GraphType
Definition: repo_scene.h:75