GAMS  1.4.0
GroupFactory.h
Go to the documentation of this file.
1 
54 #ifndef _GAMS_GROUPS_GROUP_FACTORY_H_
55 #define _GAMS_GROUPS_GROUP_FACTORY_H_
56 
57 #include <vector>
58 #include <string>
59 #include <map>
60 
61 #include "madara/knowledge/KnowledgeBase.h"
62 #include "GroupBase.h"
63 
64 namespace gams
65 {
66  namespace groups
67  {
72  {
73  public:
78 
82  virtual ~GroupFactory();
83 
90  virtual GroupBase * create(
91  const std::string & prefix,
92  madara::knowledge::KnowledgeBase * knowledge) = 0;
93 
98  void set_knowledge(madara::knowledge::KnowledgeBase * knowledge);
99 
100  protected:
101 
103  madara::knowledge::KnowledgeBase * knowledge_;
104  };
105  }
106 }
107 
108 #endif // _GAMS_GROUPS_GROUP_FACTORY_H_
#define GAMS_EXPORT
Definition: GamsExport.h:20
Copyright(c) 2016 Carnegie Mellon University.
Base class for a group of agents.
Definition: GroupBase.h:91
Base class for a group factory.
Definition: GroupFactory.h:72
virtual ~GroupFactory()
Destructor.
madara::knowledge::KnowledgeBase * knowledge_
knowledge base containing variables
Definition: GroupFactory.h:103
virtual GroupBase * create(const std::string &prefix, madara::knowledge::KnowledgeBase *knowledge)=0
Creates a group.
void set_knowledge(madara::knowledge::KnowledgeBase *knowledge)
Sets the knowledge base.
Contains all GAMS-related tools, classes and code.