Conscience Core
TestCommandParamsFile.h
Go to the documentation of this file.
1 //
2 // Created by Louis Grignon on 18/04/2025.
3 //
4 
5 #ifndef TESTCOMMANDPARAMSFILE_H
6 #define TESTCOMMANDPARAMSFILE_H
7 
8 #include <CscCommon.h>
13 
15 // Structure pour TestSub1
20  TestSub1CommandDataType() : field1("") {}
21 
27  TestSub1CommandDataType(const string &field1) : field1(field1) {}
28 
29  string field1;
30 };
31 
32 // Structure pour TestSub2
37  TestSub2CommandDataType() : subs(), b(false) {}
38 
45  TestSub2CommandDataType(const vector<ptr<TestSub1CommandDataType>> &subs, bool b) : subs(subs), b(b) {}
46 
47  vector<ptr<TestSub1CommandDataType>> subs;
48  bool b;
49 };
50 
51 // Structure pour TestSub3
56  TestSub3CommandDataType() : maybeSubs(nullopt), c(nullopt), d(nullopt) {
57  }
58 
66  TestSub3CommandDataType(const optional<optional<vector<optional<ptr<TestSub1CommandDataType>>>>> &maybeSubs,
67  const optional<double> &c,
68  const optional<string> &d)
69  : maybeSubs(maybeSubs), c(c), d(d) {
70  }
71 
72  optional<optional<vector<optional<ptr<TestSub1CommandDataType>>>>> maybeSubs;
75 };
76 
80 class CommandTest : public CscCommand {
81 
82 public:
83  inline static const CommandTypeId COMMAND_ID = "TEST_COMMAND_1";
84 
85  CommandTest(const string &name, int age, const string &city, const ptr<TestSub2CommandDataType> &subField)
86  : CscCommand(COMMAND_ID), name(name), age(age), city(city), subField(subField) {}
87 
88  ~CommandTest() override {
89  }
90 
91 protected:
92 
93  const CscCommandExecutionResultNone *doExecute(CscEnvironmentSimulator &environmentSimulator) override {
94  return new CscCommandExecutionResultNone();
95  }
96 
98  return nullptr;
99  }
100 
101 private:
102  string name;
103  int age;
104  string city;
106 
107 };
108 
109 // COMMAND_TYPE_BUILDER(CommandTest, TestSub1CommandDataType, const string &)
110 // COMMAND_TYPE_BUILDER(CommandTest, TestSub2CommandDataType, const vector<ptr<TestSub1CommandDataType>> &, bool)
111 // COMMAND_TYPE_BUILDER(CommandTest, TestSub3CommandDataType, const optional<optional<vector<optional<ptr<TestSub1CommandDataType>>>>> &,
112 // const optional<double> &,
113 // const optional<string> &)
114 //COMMAND_REGISTER(CommandTest, const string &, int, const string &, const ptr<TestSub2CommandDataType> &)
115 
119 class CommandTest2 : public CscCommand {
120 
121 public:
122  inline static const CommandTypeId COMMAND_ID = "TEST_COMMAND_2";
123 
124  CommandTest2(double g, const vector<string> &strings,
125  const map<string, map<string, string>> &desData,
126  const map<string, ptr<TestSub1CommandDataType>> &mapOfObject,
127  const map<string, map<int, ptr<TestSub1CommandDataType>>> &mapOfMapOfObject)
128  : CscCommand(COMMAND_ID), g(g), strings(strings), desData(desData), mapOfObject(mapOfObject), mapOfMapOfObject(mapOfMapOfObject) {}
129 
130  ~CommandTest2() override {}
131 
132 protected:
133  const CscCommandExecutionResultNone *doExecute(CscEnvironmentSimulator &environmentSimulator) override {
134  return new CscCommandExecutionResultNone();
135  }
136 
138  // Implémentez ici la logique pour obtenir l'entité de réflexion
139  return nullptr;
140  }
141 
142 private:
143  double g;
144  vector<string> strings;
145  map<string, map<string, string>> desData;
146  map<string, ptr<TestSub1CommandDataType>> mapOfObject;
147  map<string, map<int, ptr<TestSub1CommandDataType>>> mapOfMapOfObject;
148 };
149 
150 //COMMAND_REGISTER(CommandTest2, double, const vector<string> &, const map<string, map<string, string>> &, const map<string, ptr<TestSub1CommandDataType>> &, const map<string, map<int, ptr<TestSub1CommandDataType>>> &)
151 
152 // Classe pour la commande Simple
153 class CommandSimple : public CscCommand {
154 
155 public:
156  inline static const CommandTypeId COMMAND_ID = "SIMPLE_TEST_COMMAND";
157 
158  CommandSimple(const string &serialNumber)
159  : CscCommand(COMMAND_ID), serialNumber(serialNumber) {}
160 
161  ~CommandSimple() override {}
162 
163 protected:
164  const CscCommandExecutionResultNone *doExecute(CscEnvironmentSimulator &environmentSimulator) override {
165  return new CscCommandExecutionResultNone();
166  }
167 
169  // Implémentez ici la logique pour obtenir l'entité de réflexion
170  return nullptr;
171  }
172 
173 private:
174  string serialNumber;
175 };
176 
177 // COMMAND_REGISTER(CommandSimple, const string &)
178 
179 // Classe pour la commande SimpleWithMap
181 
182 public:
183  inline static const CommandTypeId COMMAND_ID = "SIMPLE_TEST_MAP_COMMAND";
184 
185  CommandSimpleWithMap(const map<string, int> &myInts)
186  : CscCommand(COMMAND_ID), myInts(myInts) {}
187 
188  ~CommandSimpleWithMap() override {}
189 
190 protected:
191  const CscCommandExecutionResultNone *doExecute(CscEnvironmentSimulator &environmentSimulator) override {
192  return new CscCommandExecutionResultNone();
193  }
194 
196  // Implémentez ici la logique pour obtenir l'entité de réflexion
197  return nullptr;
198  }
199 
200 private:
201  map<string, int> myInts;
202 };
203 
204 // COMMAND_REGISTER(CommandSimpleWithMap, const map<string, int> &)
205 
206 // Classe pour la commande SimpleWithVectorOfObjects
208 
209 public:
210  inline static const CommandTypeId COMMAND_ID = "SIMPLE_TEST_VECTOR_OF_OBJECTS_COMMAND";
211 
213  : CscCommand(COMMAND_ID), objectsList(objectsList) {}
214 
216 
217 protected:
218  const CscCommandExecutionResultNone *doExecute(CscEnvironmentSimulator &environmentSimulator) override {
219  return new CscCommandExecutionResultNone();
220  }
221 
223  // Implémentez ici la logique pour obtenir l'entité de réflexion
224  return nullptr;
225  }
226 
227 private:
228  vector<ptr<TestSub1CommandDataType>> objectsList;
229 };
230 
231 // COMMAND_REGISTER(CommandSimpleWithVectorOfObjects, const vector<ptr<TestSub1CommandDataType>> &)
232 
233 // Classe pour la commande SimpleWithOptional
235 
236 public:
237  inline static const CommandTypeId COMMAND_ID = "SIMPLE_TEST_OPTIONAL";
238 
239  CommandSimpleWithOptional(const ptr<TestSub3CommandDataType> &sub3, const optional<map<string, int>> &maybeMyInts)
240  : CscCommand(COMMAND_ID), sub3(sub3), maybeMyInts(maybeMyInts) {}
241 
243 
244 protected:
245  const CscCommandExecutionResultNone *doExecute(CscEnvironmentSimulator &environmentSimulator) override {
246  return new CscCommandExecutionResultNone();
247  }
248 
250  // Implémentez ici la logique pour obtenir l'entité de réflexion
251  return nullptr;
252  }
253 
254 private:
256  optional<map<string, int>> maybeMyInts;
257 };
258 
259 // COMMAND_REGISTER(CommandSimpleWithOptional, const ptr<TestSub3CommandDataType> &, const optional<map<string, int>> &)
260 
261 // Classe pour la commande OptionalOfObject
263 
264 public:
265  inline static const CommandTypeId COMMAND_ID = "TEST_OPTIONAL_OF_OBJECT";
266 
268  : CscCommand(COMMAND_ID), sub1(sub1) {}
269 
271 
272 protected:
273  const CscCommandExecutionResultNone *doExecute(CscEnvironmentSimulator &environmentSimulator) override {
274  return new CscCommandExecutionResultNone();
275  }
276 
278  // Implémentez ici la logique pour obtenir l'entité de réflexion
279  return nullptr;
280  }
281 
282 private:
283  optional<ptr<TestSub1CommandDataType>> sub1;
284 };
285 
286 // COMMAND_REGISTER(CommandOptionalOfObject, const optional<ptr<TestSub1CommandDataType>> &)
287 
288 
289 }
290 #endif
conscience_core::bridging::commands::CommandSimpleWithVectorOfObjects::getEntityReflexion
ptr< CscEntityReflexion > getEntityReflexion() const override
Definition: TestCommandParamsFile.h:222
conscience_core::bridging::commands::TestSub3CommandDataType::c
optional< double > c
Definition: TestCommandParamsFile.h:73
conscience_core::bridging::commands::TestSub3CommandDataType::TestSub3CommandDataType
TestSub3CommandDataType(const optional< optional< vector< optional< ptr< TestSub1CommandDataType >>>>> &maybeSubs, const optional< double > &c, const optional< string > &d)
Definition: TestCommandParamsFile.h:66
conscience_core::bridging::commands::CommandSimple::~CommandSimple
~CommandSimple() override
Definition: TestCommandParamsFile.h:161
conscience_core::bridging::commands::CommandSimple::doExecute
const CscCommandExecutionResultNone * doExecute(CscEnvironmentSimulator &environmentSimulator) override
Definition: TestCommandParamsFile.h:164
conscience_core::bridging::commands::result::CscCommandExecutionResultNone
Definition: CommandExecutionResultNone.h:11
conscience_core::bridging::commands::TestSub3CommandDataType::d
optional< string > d
Definition: TestCommandParamsFile.h:74
conscience_core::bridging::commands::CommandTest::doExecute
const CscCommandExecutionResultNone * doExecute(CscEnvironmentSimulator &environmentSimulator) override
Definition: TestCommandParamsFile.h:93
conscience_core::bridging::commands::CommandTest2::~CommandTest2
~CommandTest2() override
Definition: TestCommandParamsFile.h:130
conscience_core::bridging::commands::TestSub2CommandDataType::TestSub2CommandDataType
TestSub2CommandDataType()
Definition: TestCommandParamsFile.h:37
conscience_core::bridging::commands::CommandOptionalOfObject
Definition: TestCommandParamsFile.h:262
conscience_core::bridging::commands::CommandTest2::doExecute
const CscCommandExecutionResultNone * doExecute(CscEnvironmentSimulator &environmentSimulator) override
Definition: TestCommandParamsFile.h:133
Command.h
conscience_core::bridging::commands::CommandOptionalOfObject::doExecute
const CscCommandExecutionResultNone * doExecute(CscEnvironmentSimulator &environmentSimulator) override
Definition: TestCommandParamsFile.h:273
conscience_core::bridging::commands::CommandTest::~CommandTest
~CommandTest() override
Definition: TestCommandParamsFile.h:88
conscience_core::bridging::commands::CommandSimpleWithOptional::~CommandSimpleWithOptional
~CommandSimpleWithOptional() override
Definition: TestCommandParamsFile.h:242
conscience_core::bridging::commands::CommandOptionalOfObject::CommandOptionalOfObject
CommandOptionalOfObject(const optional< ptr< TestSub1CommandDataType >> &sub1)
Definition: TestCommandParamsFile.h:267
conscience_core::bridging::commands::CommandSimpleWithMap::~CommandSimpleWithMap
~CommandSimpleWithMap() override
Definition: TestCommandParamsFile.h:188
conscience_core::bridging::commands::CommandTypeId
string CommandTypeId
Definition: Command.h:29
conscience_core::bridging::commands::TestSub3CommandDataType
Definition: TestCommandParamsFile.h:52
conscience_core::bridging::commands::CommandSimpleWithMap
Definition: TestCommandParamsFile.h:180
conscience_core::bridging::commands::CommandSimpleWithMap::doExecute
const CscCommandExecutionResultNone * doExecute(CscEnvironmentSimulator &environmentSimulator) override
Definition: TestCommandParamsFile.h:191
conscience_core::bridging::commands::metadata
Definition: CscCommandMetadataBuilder.cpp:58
conscience_core::bridging::commands::TestSub3CommandDataType::maybeSubs
optional< optional< vector< optional< ptr< TestSub1CommandDataType > > > > > maybeSubs
Definition: TestCommandParamsFile.h:72
conscience_core::bridging::commands::CommandTest::getEntityReflexion
ptr< CscEntityReflexion > getEntityReflexion() const override
Definition: TestCommandParamsFile.h:97
conscience_core::bridging::commands::TestSub1CommandDataType
Definition: TestCommandParamsFile.h:16
CscCommandMetadataBuilder.h
conscience_core::bridging::commands::CommandSimple
Definition: TestCommandParamsFile.h:153
conscience_core::bridging::commands::CommandTest2
Definition: TestCommandParamsFile.h:119
conscience_core::bridging::commands::TestSub2CommandDataType
Definition: TestCommandParamsFile.h:33
conscience_core::bridging::commands
Definition: cartographyCommands.cpp:4
conscience_core::bridging::commands::TestSub1CommandDataType::field1
string field1
Definition: TestCommandParamsFile.h:29
conscience_core::bridging::commands::CommandSimpleWithOptional::getEntityReflexion
ptr< CscEntityReflexion > getEntityReflexion() const override
Definition: TestCommandParamsFile.h:249
conscience_core::bridging::commands::CommandTest2::CommandTest2
CommandTest2(double g, const vector< string > &strings, const map< string, map< string, string >> &desData, const map< string, ptr< TestSub1CommandDataType >> &mapOfObject, const map< string, map< int, ptr< TestSub1CommandDataType >>> &mapOfMapOfObject)
Definition: TestCommandParamsFile.h:124
conscience_core::bridging::commands::CommandSimpleWithVectorOfObjects::doExecute
const CscCommandExecutionResultNone * doExecute(CscEnvironmentSimulator &environmentSimulator) override
Definition: TestCommandParamsFile.h:218
conscience_core::bridging::commands::TestSub2CommandDataType::subs
vector< ptr< TestSub1CommandDataType > > subs
Definition: TestCommandParamsFile.h:47
conscience_core::bridging::commands::CscCommand
Definition: Command.h:40
conscience_core::bridging::commands::CommandOptionalOfObject::~CommandOptionalOfObject
~CommandOptionalOfObject() override
Definition: TestCommandParamsFile.h:270
conscience_core::bridging::commands::CommandSimpleWithOptional::CommandSimpleWithOptional
CommandSimpleWithOptional(const ptr< TestSub3CommandDataType > &sub3, const optional< map< string, int >> &maybeMyInts)
Definition: TestCommandParamsFile.h:239
CscCommon.h
conscience_core::bridging::commands::TestSub2CommandDataType::TestSub2CommandDataType
TestSub2CommandDataType(const vector< ptr< TestSub1CommandDataType >> &subs, bool b)
Definition: TestCommandParamsFile.h:45
conscience_core::bridging::commands::CommandSimple::getEntityReflexion
ptr< CscEntityReflexion > getEntityReflexion() const override
Definition: TestCommandParamsFile.h:168
conscience_core::bridging::commands::CommandSimpleWithOptional
Definition: TestCommandParamsFile.h:234
conscience_core::bridging::commands::CommandSimple::CommandSimple
CommandSimple(const string &serialNumber)
Definition: TestCommandParamsFile.h:158
conscience_core::bridging::commands::CommandSimpleWithMap::CommandSimpleWithMap
CommandSimpleWithMap(const map< string, int > &myInts)
Definition: TestCommandParamsFile.h:185
conscience_core::bridging::commands::environment_objects::optional< double >
const ptr< CscObjectModel > const string const CscPoint3d const CscPoint3d optional< double >
Definition: environmentObjectsCommands.h:367
conscience_core::bridging::commands::CommandSimpleWithOptional::doExecute
const CscCommandExecutionResultNone * doExecute(CscEnvironmentSimulator &environmentSimulator) override
Definition: TestCommandParamsFile.h:245
conscience_core::bridging::commands::CommandSimpleWithVectorOfObjects::~CommandSimpleWithVectorOfObjects
~CommandSimpleWithVectorOfObjects() override
Definition: TestCommandParamsFile.h:215
conscience_core::bridging::commands::CommandSimpleWithVectorOfObjects::CommandSimpleWithVectorOfObjects
CommandSimpleWithVectorOfObjects(const vector< ptr< TestSub1CommandDataType >> &objectsList)
Definition: TestCommandParamsFile.h:212
conscience_core::bridging::commands::TestSub2CommandDataType::b
bool b
Definition: TestCommandParamsFile.h:48
conscience_core::bridging::commands::CommandOptionalOfObject::getEntityReflexion
ptr< CscEntityReflexion > getEntityReflexion() const override
Definition: TestCommandParamsFile.h:277
CscEnvironmentSimulator
Definition: CscEnvironmentSimulator.h:31
conscience_core::bridging::commands::CommandSimpleWithVectorOfObjects
Definition: TestCommandParamsFile.h:207
conscience_core::bridging::commands::CommandTest2::getEntityReflexion
ptr< CscEntityReflexion > getEntityReflexion() const override
Definition: TestCommandParamsFile.h:137
c
double c
Definition: HybridAStar.cpp:84
conscience_core::bridging::commands::TestSub1CommandDataType::TestSub1CommandDataType
TestSub1CommandDataType()
Definition: TestCommandParamsFile.h:20
conscience_core::bridging::commands::environment_objects::optional< string >
const ptr< CscObjectModel > const string const CscPoint3d const CscPoint3d optional< string >
Definition: environmentObjectsCommands.h:373
ptr
std::shared_ptr< T > ptr
Definition: CscCommon.h:29
conscience_core::bridging::commands::TestSub3CommandDataType::TestSub3CommandDataType
TestSub3CommandDataType()
Definition: TestCommandParamsFile.h:56
conscience_core::bridging::commands::CommandSimpleWithMap::getEntityReflexion
ptr< CscEntityReflexion > getEntityReflexion() const override
Definition: TestCommandParamsFile.h:195
conscience_core::bridging::commands::CommandTest::CommandTest
CommandTest(const string &name, int age, const string &city, const ptr< TestSub2CommandDataType > &subField)
Definition: TestCommandParamsFile.h:85
conscience_core::bridging::commands::TestSub1CommandDataType::TestSub1CommandDataType
TestSub1CommandDataType(const string &field1)
Definition: TestCommandParamsFile.h:27
conscience_core::bridging::commands::CommandTest
Definition: TestCommandParamsFile.h:80