_thread_state = BL::Job::NOTHING;
_salome_launcher_id = -1;
_dump_yacs_state = 0;
+ _yacs_driver_options = "";
_ll_jobtype = "";
// Parameters for COORM
_thread_state = BL::Job::NOTHING;
_salome_launcher_id = -1;
_dump_yacs_state = 0;
+ _yacs_driver_options = "";
_ll_jobtype = "";
// Parameters for COORM
return _dump_yacs_state;
}
+void
+BL::Job::setYacsDriverOptions(const std::string& options)
+{
+ _yacs_driver_options = options;
+}
+
+const std::string&
+BL::Job::getYacsDriverOptions()const
+{
+ return _yacs_driver_options;
+}
+
void
BL::Job::setJobFile(const std::string & job_file)
{
void setDumpYACSState(const int & dump_yacs_state);
int getDumpYACSState();
+ void setYacsDriverOptions(const std::string& options);
+ const std::string& getYacsDriverOptions()const;
+
enum MemReqType {MEM_PER_NODE, MEM_PER_CPU};
struct BatchParam
BL::Job::State _state;
BL::Job::ThreadState _thread_state;
int _dump_yacs_state;
+ std::string _yacs_driver_options;
std::string _name;
new_parameter->value = CORBA::string_dup(oss.str().c_str());
job_parameters->specific_parameters[job_parameters->specific_parameters.length() - 1] = new_parameter;
}
+ if (not job->getYacsDriverOptions().empty())
+ {
+ job_parameters->specific_parameters.length(job_parameters->specific_parameters.length() + 1);
+ Engines::Parameter_var new_parameter = new Engines::Parameter;
+ new_parameter->name = CORBA::string_dup("YACSDriverOptions");
+ new_parameter->value = CORBA::string_dup(job->getYacsDriverOptions().c_str());
+ job_parameters->specific_parameters[job_parameters->specific_parameters.length() - 1] = new_parameter;
+ }
}
if (job->getLoadLevelerJobType() != "")
{
iss >> value;
job_return->setDumpYACSState(value);
}
+ if (std::string(job_parameters->specific_parameters[i].name.in()) == "YACSDriverOptions")
+ {
+ std::string user_value = job_parameters->specific_parameters[i].value.in();
+ job_return->setYacsDriverOptions(user_value);
+ }
if (std::string(job_parameters->specific_parameters[i].name.in()) == "LoalLevelerJobType")
{
std::string user_value = job_parameters->specific_parameters[i].value.in();
start_job = false;
dump_yacs_state = -1;
+ yacs_driver_options = "";
ll_jobtype = "";
setOptions(QWizard::NoBackButtonOnStartPage);
value.setNum(job->getDumpYACSState());
setField("dump_yacs_state", value);
}
+ if (not job->getYacsDriverOptions().empty())
+ {
+ setField("yacs_driver_options", job->getYacsDriverOptions().c_str());
+ }
}
else if (job->getType() == BL::Job::COMMAND)
{
QString f_yacs_file = field("yacs_file").toString();
yacs_file = f_yacs_file.trimmed().toUtf8().constData();
dump_yacs_state = field("dump_yacs_state").toInt();
+ yacs_driver_options = field("yacs_driver_options").toString().trimmed().toUtf8().constData();
// Command Panel
QString f_command = field("command").toString();
QGroupBox * spec_param_box = new QGroupBox("YACS specific parameters");
QLabel * label_dump = new QLabel("Dump YACS state each secs (0 disable this feature)");
- QLabel * label_dump_warning = new QLabel("(WARNING: can only be used with SALOME >= 6.3.0)");
+ QLabel * label_driver_options = new QLabel("YACS driver options - see YACS driver documentation.");
QSpinBox * spin_dump = new QSpinBox(this);
spin_dump->setMinimum(0);
spin_dump->setMaximum(1000000);
registerField("dump_yacs_state", spin_dump);
+ QLineEdit* edit_yacs_driver_options = new QLineEdit(this);
+ registerField("yacs_driver_options", edit_yacs_driver_options);
QGridLayout * specific_layout = new QGridLayout;
specific_layout->addWidget(label_dump, 0, 0);
specific_layout->addWidget(spin_dump, 0, 1);
- specific_layout->addWidget(label_dump_warning, 1, 0);
+ specific_layout->addWidget(label_driver_options, 1, 0);
+ specific_layout->addWidget(edit_yacs_driver_options, 1, 1);
spec_param_box->setLayout(specific_layout);
QVBoxLayout * main_layout = new QVBoxLayout;