PBScenario.h
1/* Distributed under the Apache License, Version 2.0.
2 See accompanying NOTICE file for details.*/
3
4#pragma once
5
6PULSE_BIND_DECL(Scenario)
7PULSE_BIND_DECL(ScenarioExec)
8#include "PulseScenario.h"
9#include "PulseScenarioExec.h"
10
11namespace pulse
12{
13 class PULSE_DECL PBScenario
14 {
15 public:
16
17 static void Load(const PULSE_BIND::ScenarioData& src, PulseScenario& dst);
18 static PULSE_BIND::ScenarioData* Unload(const PulseScenario& src);
19 static void Serialize(const PULSE_BIND::ScenarioData& src, PulseScenario& dst);
20 static void Serialize(const PulseScenario& src, PULSE_BIND::ScenarioData& dst);
21 static void Copy(const PulseScenario& src, PulseScenario& dst);
22
23 static bool SerializeToString(const PulseScenario& src, std::string& output, eSerializationFormat m);
24 static bool SerializeToFile(const PulseScenario& src, const std::string& filename);
25 static bool SerializeFromString(const std::string& src, PulseScenario& dst, eSerializationFormat m);
26 static bool SerializeFromFile(const std::string& filename, PulseScenario& dst);
27
28 static void Copy(const PulseScenarioExec& src, PulseScenarioExec& dst);
29 static void Load(const PULSE_BIND::ScenarioExecData& src, PulseScenarioExec& dst);
30 static PULSE_BIND::ScenarioExecData* Unload(const PulseScenarioExec& src);
31 static void Serialize(const PULSE_BIND::ScenarioExecData& src, PulseScenarioExec& dst);
32 static void Serialize(const PulseScenarioExec& src, PULSE_BIND::ScenarioExecData& dst);
33
34 static bool SerializeToString(const PulseScenarioExec& src, std::string& output, eSerializationFormat m, Logger* logger);
35 static bool SerializeFromString(const std::string& src, PulseScenarioExec& dst, eSerializationFormat m, Logger* logger);
36 };
37}
Definition: Logger.h:71
Create a Pulse engine and execute the scenario opts.
Definition: PulseScenarioExec.h:14
A Pulse specific scenario (i.e. holds a Pulse configuration object)
Definition: PulseScenario.h:15
Definition: PBScenario.h:14
Definition: Logger.h:14

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.