-// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
#ifndef _SALOME_CONTAINERMANAGER_IDL_
#define _SALOME_CONTAINERMANAGER_IDL_
string applipath;
//! list of available components
CompoList componentList;
+ //! Type of resource: interactive or batch
+ string mode;
//! operating system
string OS;
struct JobParameters
{
+ string job_name;
//! Job Type - Could be equal to "command" or "yacs_file" or "python_salome"
string job_type;
Engines::ParameterList specific_parameters;
};
+struct JobDescription
+{
+ long job_id;
+ Engines::JobParameters job_parameters;
+};
+typedef sequence<Engines::JobDescription> JobsList;
+
+interface SalomeLauncherObserver
+{
+ void notify(in string event_name, in string event_data);
+};
+
/*! \brief Interface of the %salomelauncher
This interface is used for interaction with the unique instance
of SalomeLauncher
void launchJob (in long job_id) raises (SALOME::SALOME_Exception);
string getJobState (in long job_id) raises (SALOME::SALOME_Exception);
void getJobResults(in long job_id, in string directory) raises (SALOME::SALOME_Exception);
+ boolean getJobDumpState(in long job_id, in string directory) raises (SALOME::SALOME_Exception);
void removeJob (in long job_id) raises (SALOME::SALOME_Exception);
// Useful methods
long createJobWithFile(in string xmlJobFile, in string clusterName) raises (SALOME::SALOME_Exception);
- boolean testBatch (in ResourceParameters params) raises (SALOME::SALOME_Exception);
+ boolean testBatch (in ResourceParameters params) raises (SALOME::SALOME_Exception);
// SALOME kernel service methods
void Shutdown();
long getPID();
+
+ // Observer and introspection methods
+ void addObserver(in Engines::SalomeLauncherObserver observer);
+ void removeObserver(in Engines::SalomeLauncherObserver observer);
+ Engines::JobsList getJobsList();
+ Engines::JobParameters getJobParameters(in long job_id) raises (SALOME::SALOME_Exception);
+
+ // Save and load methods
+ void loadJobs(in string jobs_file) raises (SALOME::SALOME_Exception);
+ void saveJobs(in string jobs_file) raises (SALOME::SALOME_Exception);
+
};
/*! \brief Interface of the %containerManager
//! GiveContainer - use mode parameter of ContainerParameters to configure
//! how this method works
//! Currently: get, start, getorstart, findorstart, find
- Container GiveContainer(in ContainerParameters params);
+ Container GiveContainer(in ContainerParameters params) raises (SALOME::SALOME_Exception);
//! Shutdown all containers that have been launched by the container manager
void ShutdownContainers();
//! Get definition of a resource
ResourceDefinition GetResourceDefinition(in string name);
+
+ //! Add a new resource to the resource_manager
+ /*!
+ write -> true, resource manager will add it into a xml_file
+ xml_file -> could be empty, in this case if write is true, resource manager will write
+ the resource in its first ResourceCatalog file
+ */
+ void AddResource(in ResourceDefinition new_resource, in boolean write, in string xml_file)
+ raises (SALOME::SALOME_Exception);
+
+ //! Remove a new resource to the resource_manager
+ /*!
+ write -> true, resource manager will write a new xml_file
+ xml_file -> could be empty, in this case if write is true, resource manager will write
+ the resource in its first ResourceCatalog file
+ */
+ void RemoveResource(in string resource_name, in boolean write, in string xml_file)
+ raises (SALOME::SALOME_Exception);
};