DPsim
Loading...
Searching...
No Matches
Task.h
Go to the documentation of this file.
1/* Copyright 2017-2021 Institute for Automation of Complex Power Systems,
2 * EONERC, RWTH Aachen University
3 *
4 * This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at https://mozilla.org/MPL/2.0/.
7 *********************************************************************************/
8
9#pragma once
10
11#include <memory>
12#include <vector>
13
15
16namespace CPS {
25class Task {
26public:
27 typedef std::shared_ptr<Task> Ptr;
28 typedef std::vector<Ptr> List;
29
30 Task() {}
31 virtual ~Task() {}
32
33 virtual void execute(Real time, Int timeStepCount) = 0;
34
35 virtual String toString() const { return mName; }
36
37 const std::vector<AttributeBase::Ptr> &getAttributeDependencies() {
39 }
40
41 const std::vector<AttributeBase::Ptr> &getModifiedAttributes() {
43 }
44
45 const std::vector<AttributeBase::Ptr> &getPrevStepDependencies() {
47 }
48
49protected:
50 Task(const std::string &name) : mName(name) {}
51 std::string mName;
52 std::vector<AttributeBase::Ptr> mAttributeDependencies;
53 std::vector<AttributeBase::Ptr> mModifiedAttributes;
54 std::vector<AttributeBase::Ptr> mPrevStepDependencies;
55};
56} // namespace CPS
virtual String toString() const
Definition Task.h:35
std::vector< AttributeBase::Ptr > mModifiedAttributes
Definition Task.h:53
const std::vector< AttributeBase::Ptr > & getPrevStepDependencies()
Definition Task.h:45
virtual ~Task()
Definition Task.h:31
std::vector< AttributeBase::Ptr > mPrevStepDependencies
Definition Task.h:54
virtual void execute(Real time, Int timeStepCount)=0
std::vector< AttributeBase::Ptr > mAttributeDependencies
Definition Task.h:52
Task()
Definition Task.h:30
const std::vector< AttributeBase::Ptr > & getModifiedAttributes()
Definition Task.h:41
Task(const std::string &name)
Definition Task.h:50
std::shared_ptr< Task > Ptr
Definition Task.h:27
std::vector< Ptr > List
Definition Task.h:28
const std::vector< AttributeBase::Ptr > & getAttributeDependencies()
Definition Task.h:37
std::string mName
Definition Task.h:51
std::string String
Definition Definitions.h:65
double Real
Definition Definitions.h:62
int Int
Definition Definitions.h:61