WSF
WsfComponentFactory.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2003-2015 The Boeing Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef WSFCOMPONENTFACTORY_HPP
13#define WSFCOMPONENTFACTORY_HPP
14
15#include <string>
16
17class UtInput;
18#include "wsf_export.h"
19
20#include "WsfComponentRoles.hpp"
21class WsfScenario;
22
25{
26 friend class WsfScenario;
27
28public:
29 WsfComponentFactoryBase(int aParentRole);
31
33 int GetParentRole() const { return mParentRole; }
34
35protected:
37 WsfScenario& GetScenario() const { return *mScenarioPtr; }
38
39private:
41 void SetScenario(WsfScenario* aScenarioPtr) { mScenarioPtr = aScenarioPtr; }
42
43 WsfScenario* mScenarioPtr;
44
48 int mParentRole;
49};
50
52template<typename PARENT_TYPE>
54{
55public:
60
64 virtual void PreInput(PARENT_TYPE& aParent) {}
65
68
69
73 virtual bool ProcessInput(UtInput& aInput, PARENT_TYPE& aParent) { return false; }
74
83 virtual bool ProcessAddOrEditCommand(UtInput& aInput, PARENT_TYPE& aParent, bool aIsAdding) { return false; }
84
90 virtual bool ProcessDeleteCommand(UtInput& aInput, PARENT_TYPE& aParent) { return false; }
92
94
95
104 virtual bool PreInitialize(double aSimTime, PARENT_TYPE& aParent) { return true; }
106};
107
108#endif
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
WsfScenario & GetScenario() const
Returns a reference to the scenario to which this factory is registered.
Definition WsfComponentFactory.hpp:37
int GetParentRole() const
Return the parent role of the factory.
Definition WsfComponentFactory.hpp:33
WsfComponentFactoryBase(int aParentRole)
Definition WsfComponentFactory.cpp:15
friend class WsfScenario
Definition WsfComponentFactory.hpp:26
virtual void PreInput(PARENT_TYPE &aParent)
Definition WsfComponentFactory.hpp:64
virtual bool ProcessDeleteCommand(UtInput &aInput, PARENT_TYPE &aParent)
Definition WsfComponentFactory.hpp:90
virtual bool PreInitialize(double aSimTime, PARENT_TYPE &aParent)
Definition WsfComponentFactory.hpp:104
virtual bool ProcessInput(UtInput &aInput, PARENT_TYPE &aParent)
Definition WsfComponentFactory.hpp:73
virtual bool ProcessAddOrEditCommand(UtInput &aInput, PARENT_TYPE &aParent, bool aIsAdding)
Definition WsfComponentFactory.hpp:83
WsfComponentFactory()
Definition WsfComponentFactory.hpp:56
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
Definition WsfComponentRoles.hpp:60
Copyrights Multiple, All Rights Reserved