CSCI 3081 - Drone Delivery System
carrier_factory.h
Go to the documentation of this file.
1 
4 #ifndef CARRIER_FACTORY_H
5 #define CARRIER_FACTORY_H
6 
7 /*******************************************************************************
8  * Includes
9  ******************************************************************************/
10 #include <EntityProject/facade/delivery_system.h>
11 #include "drone_factory.h"
12 #include "robot_factory.h"
13 #include <vector>
14 #include <string>
15 
16 namespace csci3081 {
17 
18 /*******************************************************************************
19  * Class Definitions
20  ******************************************************************************/
27  public:
32 
37 
44 
70  IEntity* CreateEntity(const picojson::object& val);
71 
72  private:
73  std::vector<IEntityFactory*> carrierFactories;
74 };
75 
76 } // namespace csci3081
77 
78 
79 #endif // CARRIER_FACTORY_H
void AddFactory(IEntityFactory *)
This adds an IEntityFactory factory into the vector factories of carrier class.
Definition: carrier_factory.cc:19
Definition: asubject.cc:3
~CarrierFactory()
Destructor: this tear down/reset the memory space related to pointers.
Definition: carrier_factory.cc:12
Definition: entity_factory.h:12
CarrierFactory()
Constructor: this can do any setup your system necessitates.
Definition: carrier_factory.cc:7
IEntity * CreateEntity(const picojson::object &val)
This is an inheritance function from IEntityFactory to create an approxiate Entity object based on th...
Definition: carrier_factory.cc:23
This is a derived class from IEntityFactory to manage all other factories (e.g. DroneFactory, PackageFactory, CustomerFactory...)
Definition: carrier_factory.h:26
A movable object in a scene. Entities have position, direction and size.
Definition: entity.h:15