Interprete de configuração
Builders/StdinInterpreterBuilder.h
namespace vss {
class StdinInterpreterBuilder : public IStdinInterpreterBuilder {
public:
StdinInterpreterBuilder();
IStdinInterpreter* buildInterpreter() override;
IStdinInterpreterBuilder* onStateRecvAddr() override;
IStdinInterpreterBuilder* onStateSendAddr() override;
IStdinInterpreterBuilder* onYellowCmdRecvAddr() override;
IStdinInterpreterBuilder* onYellowCmdSendAddr() override;
IStdinInterpreterBuilder* onYellowDebugRecvAddr() override;
IStdinInterpreterBuilder* onYellowDebugSendAddr() override;
IStdinInterpreterBuilder* onBlueCmdRecvAddr() override;
IStdinInterpreterBuilder* onBlueCmdSendAddr() override;
IStdinInterpreterBuilder* onBlueDebugRecvAddr() override;
IStdinInterpreterBuilder* onBlueDebugSendAddr() override;
IStdinInterpreterBuilder* onCtrlRecvAddr() override;
IStdinInterpreterBuilder* onCtrlSendAddr() override;
IStdinInterpreterBuilder* onStatePort() override;
IStdinInterpreterBuilder* onYellowCmdPort() override;
IStdinInterpreterBuilder* onYellowDebugPort() override;
IStdinInterpreterBuilder* onBlueCmdPort() override;
IStdinInterpreterBuilder* onBlueDebugPort() override;
IStdinInterpreterBuilder* onCtrlPort() override;
IStdinInterpreterBuilder* onTeamType() override;
IStdinInterpreterBuilder* onSideAttackType() override;
IStdinInterpreterBuilder* onTimeExecutionType() override;
IStdinInterpreterBuilder* onEnvironmentType() override;
IStdinInterpreterBuilder* onDurationType() override;
IStdinInterpreterBuilder* onMatchFinishType() override;
IStdinInterpreterBuilder* onTeamInitialPositionPath() override;
protected:
IStdinInterpreter *stdinInterpreter;
};
}
Interpreters/StdinInterpreter.h
namespace vss {
class StdinInterpreter : public IStdinInterpreter {
public:
StdinInterpreter();
ExecutionConfig extractExecutionConfig(int argc, char **argv) override;
protected:
ExecutionConfig stdinConfiguration;
boost::program_options::options_description buildOptions();
void buildConfiguration(boost::program_options::variables_map);
};
}