-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
// File : SALOMEDS.idl
// Author : Yves FRICAUD
-// $Header$
-
-/*! \mainpage
- \image html Application-About.png
-*/
-
-/*!
- \file SALOMEDS.idl This file contains a set of interfaces used for creation, managment
+//
+/*! \file SALOMEDS.idl \brief This file contains a set of interfaces used for creation, management
and modification of the %Study
*/
#define _SALOMEDS_IDL_
#include "SALOME_Exception.idl"
+#include "SALOME_GenericObj.idl"
-/*!
- This package contains the interfaces used for creation, managment
+/*! \brief
+ This package contains the interfaces used for creation, management
and modification of the %Study
*/
module SALOMEDS
{
-/*! \typedef URL
- Name of the file in which the %Study is saved.
-
+/*! \brief Name of the file in which the %Study is saved.
*/
typedef string URL;
-/*! Main identifier of an object in %SALOME application
+/*! \brief Main identifier of an object in %SALOME application
*/
typedef string ID;
-/*! While saving the data, IOR is transformed into persistent reference
+/*! \brief While saving the data, IOR is transformed into persistent reference
*/
typedef string PersistentReference;
-/*! IOR of the study in %SALOME application
+/*! \brief IOR of the study in %SALOME application
*/
typedef string SalomeReference;
-/*! List of the names of studies which are currently open in this %SALOME session.
+/*! \brief List of the names of studies which are currently open in this %SALOME session.
+
Since %SALOME is a multi-study application, it allows to open a lot of studies
during each working session.
*/
typedef sequence<string> ListOfOpenStudies;
-/*! List of file names
-*/
+//! List of file names
typedef sequence<string> ListOfFileNames;
-/*! List of modification dates of a study
-*/
+//! List of modification dates of a study
typedef sequence<string> ListOfDates ;
-/*! An unbounded sequence of strings
-*/
+//! An unbounded sequence of strings
typedef sequence<string> ListOfStrings ;
-/*! A byte stream which is used for binary data transfer between different components
-*/
+//! An unbounded sequence of sequence of strings
+ typedef sequence<ListOfStrings> ListOfListOfStrings ;
+//! A byte stream which is used for binary data transfer between different components
typedef sequence<octet> TMPFile;
// Reference to other objects is treated with function AddReference
interface ChildIterator;
interface Driver;
interface AttributeStudyProperties;
+ interface AttributeParameter;
interface UseCaseIterator;
interface UseCaseBuilder;
- interface Callback;
-/*! List of attributes of %SObjects
-*/
+ interface Observer
+ {
+ oneway void notifyObserverID(in string theID, in long event);
+ };
+
+
+//! List of attributes of %SObjects
typedef sequence<GenericAttribute> ListOfAttributes;
-/*! Exception indicating that this feature hasn't been implemented in %SALOME PRO application.
-*/
+//! Exception indicating that this feature hasn't been implemented in %SALOME application.
exception NotImplemented {};
interface Study
{
+//! Invalid study reference
+ exception StudyInvalidReference {};
+//! Invalid study context
exception StudyInvalidContext {};
+//! Invalid study component
exception StudyInvalidComponent {};
-/*! Invalid directory of the %study exception
-*/
+//! Invalid directory of the %study exception
exception StudyInvalidDirectory {};
-/*! Exception pointing that this name of the study has already been used.
-*/
+//! Exception pointing that this name of the study has already been used.
exception StudyNameAlreadyUsed {};
+//! study object already exists
exception StudyObjectAlreadyExists {};
-/*! Invalid name of the %study exception
-*/
+//! Invalid name of the %study exception
exception StudyNameError {};
+//! Invalid study comment
exception StudyCommentError {};
+
/*! \brief The name of the %Study
This is equivalent to the methods setName() & getName()
This is equivalent to the methods setID() & getID()
*/
attribute short StudyId;
-/*! Sequence containing %SObjects
-*/
+//! Sequence containing %SObjects
typedef sequence<SObject> ListOfSObject;
-/*!
- Gets the persistent reference to the %Study.
-*/
- PersistentReference GetPersistentReference();
-/*!
- Gets a transient reference to the %Study.
-*/
- SalomeReference GetTransientReference();
+//! Get the persistent reference to the %Study.
+ PersistentReference GetPersistentReference() raises(StudyInvalidReference);
+//! Get a transient reference to the %Study.
+ SalomeReference GetTransientReference() raises(StudyInvalidReference);
-/*!
- Returns True if the %Study is empty
+/*! \brief indicate whether the %Study is empty
+
+ \return True if the %Study is empty
*/
- boolean IsEmpty();
-/*!
- Allows to find a %SComponent by its name.
+ boolean IsEmpty() raises(StudyInvalidReference);
+/*! \brief Find a %SComponent by its name.
+
\param aComponentName It's a string value in the Comment Attribute of the Component,
which is looked for, defining the data type of this Component.
-<BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+<em>See \ref example1 for an example of this method usage in batchmode of %SALOME application.</em>
+
*/
- SComponent FindComponent (in string aComponentName);
-/*!
- Allows to find a %SComponent by ID of the according %SObject
+ SComponent FindComponent (in string aComponentName) raises(StudyInvalidReference);
+
+/*! \brief Find a %SComponent by ID of the according %SObject
*/
- SComponent FindComponentID(in ID aComponentID);
-/*!
- Allows to find a %SObject by the Name Attribute of this %SObject
+ SComponent FindComponentID(in ID aComponentID) raises(StudyInvalidReference);
+/*! \brief Find a %SObject by the Name Attribute of this %SObject
\param anObjectName String parameter defining the name of the object
\return The obtained %SObject
-<BR><VAR>See also <A href=exemple/Example19.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
-
+<em>See \ref example19 for an example of this method usage in batchmode of %SALOME application.</em>
*/
- SObject FindObject (in string anObjectName);
-/*!
- Allows to find a %SObject by its ID
+ SObject FindObject (in string anObjectName) raises(StudyInvalidReference);
+/*! \brief Find a %SObject by its ID
+
\param aObjectID This parameter defines the ID of the required object
\return The obtained %SObject
-
*/
- SObject FindObjectID (in ID aObjectID);
-/*!
- Allows to create a %SObject by its ID
+ SObject FindObjectID (in ID aObjectID) raises(StudyInvalidReference);
+/*! \brief Create a %SObject by its ID
+
\param aObjectID This parameter defines the ID of the required object
\return The created %SObject
-
*/
- SObject CreateObjectID (in ID aObjectID);
-/*!
- Allows to find a %SObject by IOR of the object belonging to this %SObject.
+ SObject CreateObjectID (in ID aObjectID) raises(StudyInvalidReference);
+/*! \brief Find a %SObject by IOR of the object belonging to this %SObject.
+
\param anObjectName This parameter defines the IOR of the object
\return The obtained %SObject
-
*/
- SObject FindObjectIOR (in ID aObjectIOR);
-/*!
- Finds in the study all %SObjects produced by a given %Component.
+ SObject FindObjectIOR (in ID aObjectIOR) raises(StudyInvalidReference);
+/*! \brief Find in the study all %SObjects produced by a given %Component.
+
\param anObjectName The Name Attribute of the searched %SObjects should correspond to <VAR>anObjectName</VAR>.
\param aComponentName The name of the component, which objects are searched for.
*/
- ListOfSObject FindObjectByName(in string anObjectName, in string aComponentName);
-/*!
- Allows to find a %SObject by the path to it.
+ ListOfSObject FindObjectByName(in string anObjectName, in string aComponentName) raises(StudyInvalidReference);
+/*! \brief Find a %SObject by the path to it.
\param thePath The path to the required %SObject.
\return The obtained %SObject.
-
*/
- SObject FindObjectByPath(in string thePath);
-/*!
- Returns the path to the %SObject.
+ SObject FindObjectByPath(in string thePath) raises(StudyInvalidReference);
+/*! \brief Get the path to the %SObject.
*/
- string GetObjectPath(in Object theObject);
+ string GetObjectPath(in Object theObject) raises(StudyInvalidReference);
-/*!
- Sets the context of the %Study.
- \param thePath String parameter defining the context of the study.
+/*! \brief Set the context of the %Study.
-<BR><VAR>See also <A href=exemple/Example23.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+ \param thePath String parameter defining the context of the study.
+<em>See \ref example23 for an example of this method usage in batchmode of %SALOME application.</em>
*/
- void SetContext(in string thePath);
-/*!
- Gets the context of the %Study.
-
-<BR><VAR>See also <A href=exemple/Example23.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+ void SetContext(in string thePath) raises (StudyInvalidReference, StudyInvalidContext);
+/*! \brief Get the context of the %Study.
+<em>See \ref example23 for an example of this method usage in batchmode of %SALOME application.</em>
*/
- string GetContext();
-/*!
- Returns a list of names of objects corresponding to the context.
+ string GetContext() raises (StudyInvalidReference, StudyInvalidContext);
+/*! \brief Get a list of names of objects corresponding to the context.
+
\note If the parameter <VAR>theContext</VAR> is empty, then the current context will be used.
*/
- ListOfStrings GetObjectNames(in string theContext);
-/*!
- Returns a list of names of directories and subdirectories corresponding to the context.
+ ListOfStrings GetObjectNames(in string theContext) raises (StudyInvalidReference, StudyInvalidContext);
+/*! \brief Get a list of names of directories and subdirectories corresponding to the context.
+
\note If the parameter <VAR>theContext</VAR> is empty, then the current context will be used.
*/
- ListOfStrings GetDirectoryNames(in string theContext);
-/*!
- Returns a list of names of Files corresponding to the context.
+ ListOfStrings GetDirectoryNames(in string theContext) raises (StudyInvalidReference, StudyInvalidContext);
+/*! \brief Get a list of names of Files corresponding to the context.
+
\note If the parameter <VAR>theContext</VAR> is empty, then the current context will be used.
*/
- ListOfStrings GetFileNames(in string theContext);
-/*!
- Returns a list of names of Components corresponding to the context.
+ ListOfStrings GetFileNames(in string theContext) raises (StudyInvalidReference, StudyInvalidContext);
+/*! \brief Get a list of names of Components corresponding to the context.
+
\note If the parameter <VAR>theContext</VAR> is empty, then the current context will be used.
*/
- ListOfStrings GetComponentNames(in string theContext);
-/*!
- Creates a new iterator of child levels of the given %SObject.
+ ListOfStrings GetComponentNames(in string theContext) raises(StudyInvalidReference);
+/*! \brief Create a new iterator of child levels of the given %SObject.
+
\param aSO The given %SObject
\return A new iterator of child levels of the given %SObject.
*/
- ChildIterator NewChildIterator(in SObject aSO);
-/*!
+ ChildIterator NewChildIterator(in SObject aSO) raises(StudyInvalidReference);
- Creates a new iterator of the %SComponents.
+/*! \brief Create a new iterator of the %SComponents.
\return A new iterator of the %SComponents.
*/
- SComponentIterator NewComponentIterator();
-/*!
- Creates a new %StudyBuilder to add or modify an object in the study.
+ SComponentIterator NewComponentIterator() raises(StudyInvalidReference);
- \return A new %StudyBuilder.
+/*! \brief Create a new %StudyBuilder to add or modify an object in the study.
-<BR><VAR>See also <A href=exemple/Example20.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+ \return A new %StudyBuilder.
+<em>See \ref example20 for an example of this method usage in batchmode of %SALOME application.</em>
*/
- StudyBuilder NewBuilder() ;
+ StudyBuilder NewBuilder() raises(StudyInvalidReference);
/*! \brief Labels dependency
Updates the map with IOR attribute. It's an inner method used for optimization.
*/
- void UpdateIORLabelMap(in string anIOR, in string anEntry);
+ void UpdateIORLabelMap(in string anIOR, in string anEntry) raises(StudyInvalidReference);
/*! \brief Getting properties of the study
- Returns the attriubte, which contains the properties of this study.
+ Returns the attribute, which contains the properties of this study.
-<BR><VAR>See also <A href=exemple/Example20.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+<em>See \ref example20 for an example of this method usage in batchmode of %SALOME application.</em>
*/
- AttributeStudyProperties GetProperties();
-/*!
- Determines whether the %study has been saved
+ AttributeStudyProperties GetProperties() raises(StudyInvalidReference);
+/*! \brief Indicate whether the %study has been saved
*/
attribute boolean IsSaved;
-/*!
+/*! \brief Indicate whether the %study has been modified and not saved.
+
Returns True if the %study has been modified and not saved.
*/
- boolean IsModified();
-/*!
- Determines the file where the %study has been saved
+ boolean IsModified() raises(StudyInvalidReference);
+
+/*! \brief Mark the %study as being modified and not saved.
*/
- attribute string URL;
+ void Modified() raises(StudyInvalidReference);
+
+/*! \brief Indicate the file where the %study has been saved
+*/
+ attribute string URL;
/*! \brief List of %SObjects
Returns the list of %SObjects which refers to %anObject.
*/
- ListOfSObject FindDependances(in SObject anObject);
+ ListOfSObject FindDependances(in SObject anObject) raises(StudyInvalidReference);
/*! \brief The date of the last saving of the study
Returns the date of the last saving of study with format: "DD/MM/YYYY HH:MM"
*/
- string GetLastModificationDate();
+ string GetLastModificationDate() raises(StudyInvalidReference);
/*! \brief The list of modification dates of the study
Returns the list of modification dates (without creation date) with format "DD/MM/YYYY HH:MM".
Note : the first modification begins the list.
*/
- ListOfDates GetModificationsDate();
+ ListOfDates GetModificationsDate() raises(StudyInvalidReference);
/*! \brief Object conversion.
Converts an object into IOR.
\return An object
*/
Object ConvertIORToObject(in string theIOR);
-/*!
- Gets a new %UseCaseBuilder.
+
+/*! \brief Get a new %UseCaseBuilder.
*/
- UseCaseBuilder GetUseCaseBuilder();
+ UseCaseBuilder GetUseCaseBuilder() raises(StudyInvalidReference);
-/*!
- Closes the components in the study, removes itself from the %StudyManager.
+/*! \brief Close the components in the study, remove itself from the %StudyManager.
*/
- void Close();
+ void Close() raises(StudyInvalidReference);
-/*!
- Enables(if isEnabled = True)/disables automatic addition of new %SObjects to the use case.
+/*! \brief Enable (if isEnabled = True)/disable automatic addition of new %SObjects to the use case.
*/
- void EnableUseCaseAutoFilling(in boolean isEnabled);
+ void EnableUseCaseAutoFilling(in boolean isEnabled) raises(StudyInvalidReference);
/*!
Functions for internal usage only
*/
- void AddPostponed(in string theIOR);
+ void AddPostponed(in string theIOR) raises(StudyInvalidReference);
+
+ void AddCreatedPostponed(in string theIOR) raises(StudyInvalidReference);
+
+ void RemovePostponed(in long theUndoLimit) raises(StudyInvalidReference);
+
+ void UndoPostponed(in long theWay) raises(StudyInvalidReference);
+
+ boolean DumpStudy(in string thePath,
+ in string theBaseName,
+ in boolean isPublished,
+ in boolean isMultiFile) raises(StudyInvalidReference);
+
+/*! \brief Get an AttributeParameter used to store common parameters for given %theSavePoint.
+
+ \param theID identifies a common parameters set (Example: "Interface Applicative")
+ \param theSavePoint is number of a set of parameters as there can be several sets
+*/
+ AttributeParameter GetCommonParameters(in string theID, in long theSavePoint) raises(StudyInvalidReference);
+
+/*! \brief Get an AttributeParameter used to store parameters for given %theModuleName.
+
+ \param theID identifies a common parameters set (Example: "Interface Applicative")
+ \param theModuleName is a name of the module (Example: "Geometry")
+ \param theSavePoint is number of a set of parameters as there can be several sets
+*/
+ AttributeParameter GetModuleParameters(in string theID, in string theModuleName, in long theSavePoint) raises(StudyInvalidReference);
+
+
+/*! \brief Get a default Python script to restore visual parameters for given %theModuleName.
+
+ \param theModuleName is a name of the module (Example: "Geometry")
+ \param indent is a string to use for script indentation
+*/
+ string GetDefaultScript(in string theModuleName, in string indent) raises(StudyInvalidReference);
+
+/*!
+ Private method, returns an implementation of this Study.
+ \param theHostname is a hostname of the caller
+ \param thePID is a process ID of the caller
+ \param isLocal is set True if the Study is launched locally with the caller
+*/
+ long long GetLocalImpl(in string theHostname, in long thePID, out boolean isLocal);
+
+
+/*! \brief Mark this Study as being locked by the given locker.
+
+ The lock status can be checked by method IsStudyLocked
+ \param theLockerID identifies a locker of the study can be for ex. IOR of the engine that locks the study.
+*/
+ void SetStudyLock(in string theLockerID) raises(StudyInvalidReference);
+
+/*! \brief Indicate if the Study is locked
+
+ Returns True if the Study was marked locked.
+*/
+ boolean IsStudyLocked() raises(StudyInvalidReference);
+
+/*! \brief Mark this Study as being unlocked by the given locker.
+
+ The lock status can be checked by method IsStudyLocked
+ \param theLockerID identifies a locker of the study can be for ex. IOR of the engine that unlocks the study.
+*/
+ void UnLockStudy(in string theLockerID) raises(StudyInvalidReference);
+
+/*! \brief Get the list of IDs of the Study's lockers.
+*/
+ ListOfStrings GetLockerID() raises(StudyInvalidReference);
+
+/*! \brief Create real variable with Name theVarName and value theValue
+
+ (or set if variable value into theValue already exists)
+ \param theVarName is a name of the variable
+ \param theVarName is a value of the variable.
+*/
+ void SetReal( in string theVarName, in double theValue ) raises(StudyInvalidReference);
+
+/*! \brief Create integer variable with Name theVarName and value theValue
+
+ (or set if variable value into theValue already exists)
+ \param theVarName is a name of the variable
+ \param theVarName is a value of the variable.
+*/
+ void SetInteger( in string theVarName, in long theValue ) raises(StudyInvalidReference);
+/*! \brief Create boolean variable with Name theVarName and value theValue
+
+ (or set if variable value into theValue already exists)
+ \param theVarName is a name of the variable
+ \param theVarName is a value of the variable.
+*/
+ void SetBoolean( in string theVarName, in boolean theValue ) raises(StudyInvalidReference);
+
+/*! \brief Create string variable with Name theVarName and value theValue
+
+ (or set if variable value into theValue already exists)
+ \param theVarName is a name of the variable
+ \param theVarName is a value of the variable.
+*/
+ void SetString( in string theVarName, in string theValue ) raises(StudyInvalidReference);
+
+/*! \brief Set current value as double for string variable
+*/
+ void SetStringAsDouble( in string theVarName, in double theValue ) raises(StudyInvalidReference);
+
+/*! \brief Get value of a real variable
+
+ \param theVarName is a name of the variable.
+*/
+ double GetReal( in string theVarName ) raises(StudyInvalidReference);
+
+/*! \brief Get value of an integer variable
+
+ \param theVarName is a name of the variable.
+*/
+ long GetInteger( in string theVarName ) raises(StudyInvalidReference);
+
+/*! \brief Get value of a boolean variable
+
+ \param theVarName is a name of the variable.
+*/
+ boolean GetBoolean( in string theVarName ) raises(StudyInvalidReference);
- void AddCreatedPostponed(in string theIOR);
+/*! \brief Get value of a string variable
- void RemovePostponed(in long theUndoLimit);
+ \param theVarName is a name of the variable.
+*/
+ string GetString( in string theVarName ) raises(StudyInvalidReference);
+
+
+/*! \brief Indicate if a variable is real
+
+ Return true if variable is real otherwise return false.
+ \param theVarName is a name of the variable.
+*/
+ boolean IsReal( in string theVarName ) raises(StudyInvalidReference);
+
+/*! \brief Indicate if a variable is integer
+
+ Return true if variable is integer otherwise return false.
+ \param theVarName is a name of the variable.
+*/
+ boolean IsInteger( in string theVarName ) raises(StudyInvalidReference);
+
+/*! \brief Indicate if a variable is boolean
+
+ Return true if variable is boolean otherwise return false.
+ \param theVarName is a name of the variable.
+*/
+ boolean IsBoolean( in string theVarName ) raises(StudyInvalidReference);
+
+/*! \brief Indicate if a variable is string
+
+ Return true if variable is string otherwise return false.
+ \param theVarName is a name of the variable.
+*/
+ boolean IsString( in string theVarName ) raises(StudyInvalidReference);
+
+/*! \brief Indicate if a variable exists in the study
+
+ Return true if variable exists in the study,
+ otherwise return false.
+ \param theVarName is a name of the variable.
+*/
+ boolean IsVariable( in string theVarName ) raises(StudyInvalidReference);
+
+/*! \brief Get names of all variables from the study.
+*/
+ ListOfStrings GetVariableNames() raises(StudyInvalidReference);
+
+/*! \brief Remove a variable
+
+ Remove variable with the specified name from the study with substitution of its value.
+
+ \param theVarName Name of the variable.
+ \return Status of operation.
+*/
+ boolean RemoveVariable( in string theVarName ) raises(StudyInvalidReference);
+
+/*! \brief Rename a variable
+
+ Rename variable with the specified name within the study.
+
+ \param theVarName Name of the variable.
+ \param theNewVarName New name for the variable.
+ \return Status of operation.
+*/
+ boolean RenameVariable( in string theVarName, in string theNewVarName ) raises(StudyInvalidReference);
+
+/*! \brief Indicate whether variable is used
+
+ Check that variable is used in the study.
+
+ \param theVarName Name of the variable.
+ \return Variable usage.
+*/
+ boolean IsVariableUsed( in string theVarName ) raises(StudyInvalidReference);
+
+/*! \brief Parse variables used for object creation
+
+ \param string with variables, separated by special symbol.
+ \return Variables list.
+*/
+ ListOfListOfStrings ParseVariables( in string theVars ) raises(StudyInvalidReference);
+
+/*!
+ Attach an observer to the Study
- void UndoPostponed(in long theWay);
+ \param theObserver observer being attached
+ \param modify when \c true, observer receives any object's modification events;
+ otherwise observer receives object's creation events only
+*/
+ void attach(in SALOMEDS::Observer theObserver, in boolean modify);
+/*!
+ Detach an observer from the Study
+
+ \param theObserver observer to be detached
+*/
+ void detach(in SALOMEDS::Observer theObserver);
};
//==========================================================================
Creates a new %SComponent
\param ComponentDataType Data type of the %SComponent which will be created.
-<BR><VAR>See also <A href=exemple/Example17.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+<em>See \ref example17 for an example of this method usage in batchmode of %SALOME application.</em>
*/
SComponent NewComponent(in string ComponentDataType) raises(LockProtection);
Defines the instance to the %SComponent.
*/
void DefineComponentInstance (in SComponent aComponent,in Object ComponentIOR) raises(LockProtection);
+
/*! \brief Deletion of a %SComponent
Removes a %SComponent.
\param theFatherObject The father %SObject under which this one should be created.
\return New %SObject
-<BR><VAR>See also <A href=exemple/Example18.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+<em>See \ref example18 for an example of this method usage in batchmode of %SALOME application.</em>
*/
/*!
Loads a %SComponent.
-<BR><VAR>See also <A href=exemple/Example19.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+<em>See \ref example19 for an example of this method usage in batchmode of %SALOME application.</em>
*/
void LoadWith (in SComponent sco, in Driver Engine) raises (SALOME::SALOME_Exception);
\param anObject The %SObject corresponding to the attribute which is looked for.
\param aTypeOfAttribute Type of the attribute.
- <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+<em>See \ref example1 for an example of this method usage in batchmode of %SALOME application.</em>
*/
GenericAttribute FindOrCreateAttribute(in SObject anObject,
- in string aTypeOfAttribute) raises(LockProtection);
+ in string aTypeOfAttribute) raises(LockProtection);
/*! \brief Looking for an attribute assigned to a %SObject
*/
boolean FindAttribute(in SObject anObject,
- out GenericAttribute anAttribute,
- in string aTypeOfAttribute);
+ out GenericAttribute anAttribute,
+ in string aTypeOfAttribute);
/*! \brief Deleting the attribute assigned to the %SObject
Removes the attribute of a specific type which is assigned to the object.
\param anObject The %SObject corresponding to the attribute.
\param aTypeOfAttribute Type of the attribute.
-<BR><VAR>See also <A href=exemple/Example17.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+<em>See \ref example17 for an example of this method usage in batchmode of %SALOME application.</em>
*/
void RemoveAttribute(in SObject anObject,
- in string aTypeOfAttribute) raises(LockProtection);
+ in string aTypeOfAttribute) raises(LockProtection);
/*!
Adds a reference between %anObject and %theReferencedObject.
\param anObject The %SObject which will get a reference
*/
void Addreference(in SObject anObject,
- in SObject theReferencedObject) ;
+ in SObject theReferencedObject) ;
/*!
Removes a reference from %anObject to another object.
Adds a directory in the %Study.
\param theName String parameter defining the name of the directory.
-<BR><VAR>See also <A href=exemple/Example23.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+<em>See \ref example23 for an example of this method usage in batchmode of %SALOME application.</em>
*/
void AddDirectory(in string theName) raises(LockProtection);
/*! \brief Creation of a new command
Creates a new command which can contain several different actions.
-
-<BR><VAR>See also <A href=exemple/Example3.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+
+<em>See \ref example3 for an example of this method usage in batchmode of %SALOME application.</em>
*/
void NewCommand(); // command management
\exception LockProtection This exception is raised, when trying to perform this command a study, which is protected for modifications.
-<BR><VAR>See also <A href=exemple/Example16.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+<em>See \ref example16 for an example of this method usage in batchmode of %SALOME application.</em>
*/
void CommitCommand() raises(LockProtection); // command management
/*! \brief Cancelation of the command
Cancels all actions declared within the command.
-
-<BR><VAR>See also <A href=exemple/Example17.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+
+<em>See \ref example17 for an example of this method usage in batchmode of %SALOME application.</em>
*/
void AbortCommand(); // command management
/*! \brief Undolimit
\exception LockProtection This exception is raised, when trying to perform this command a study, which is protected for modifications.
-<BR><VAR>See also <A href=exemple/Example16.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+<em>See \ref example16 for an example of this method usage in batchmode of %SALOME application.</em>
*/
void Undo() raises (LockProtection);
\exception LockProtection This exception is raised, when trying to perform this command a study, which is protected for modifications.
- <BR><VAR>See also <A href=exemple/Example16.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+<em>See \ref example16 for an example of this method usage in batchmode of %SALOME application.</em>
*/
void Redo() raises (LockProtection);
/*!
Returns True if at this moment there are any actions which can be canceled.
-
- <BR><VAR>See also <A href=exemple/Example16.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+
+<em>See \ref example16 for an example of this method usage in batchmode of %SALOME application.</em>
*/
boolean GetAvailableUndos();
/*!
Returns True if at this moment there are any actions which can be redone.
- <BR><VAR>See also <A href=exemple/Example3.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+<em>See \ref example3 for an example of this method usage in batchmode of %SALOME application.</em>
*/
boolean GetAvailableRedos();
-/*!
- This method is called when adding an object into study.
- It sets the callback for addition of the given %SObject.
- \param theCallback New assigned callback.
- \return The previous callback.
-*/
- Callback SetOnAddSObject(in Callback theCallback);
-/*!
- This method is called when adding an object into study.
- It sets the callback for removal of the given %SObject.
-
- \return The previous callback.
- \param theCallback New assigned callback.
-*/
- Callback SetOnRemoveSObject(in Callback theCallback);
-
/*!
Puts name attribute with the given string value to the given %SObject
*/
void ping();
+ void Shutdown();
+
+/*!
+ Returns the PID of the server
+*/
+ long getPID();
+
+/*!
+ Shutdown the StudyManager process.
+*/
+ oneway void ShutdownWithExit();
+
/*! \brief Creation of a new study
Creates a new study with a definite name.
\param study_name String parameter defining the name of the study
-<BR><VAR>See also <A href=exemple/Example17.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+<em>See \ref example17 for an example of this method usage in batchmode of %SALOME application.</em>
*/
- Study NewStudy(in string study_name);
+ Study NewStudy(in string study_name) raises (SALOME::SALOME_Exception);
/*! \brief Open a study
\param aStudyUrl The path to the study
\warning This method doesn't activate the corba objects. Only a component can do it.
-<BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+<em>See \ref example1 for an example of this method usage in batchmode of %SALOME application.</em>
*/
Study Open (in URL aStudyUrl) raises (SALOME::SALOME_Exception);
\param theMultiFile If this parameter is True the study will be saved in several files.
-<BR><VAR>See also <A href=exemple/Example19.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+<em>See \ref example19 for an example of this method usage in batchmode of %SALOME application.</em>
*/
- void Save(in Study aStudy, in boolean theMultiFile);
+ boolean Save(in Study aStudy, in boolean theMultiFile);
/*! \brief Saving a study in a ASCII file (or files).
Saves a study in an ASCII format file (or files).
\param theMultiFile If this parameter is True the study will be saved in several files.
*/
- void SaveASCII(in Study aStudy, in boolean theMultiFile);
+ boolean SaveASCII(in Study aStudy, in boolean theMultiFile);
/*! \brief Saving the study in a specified HDF file (or files).
Saves the study in a specified file (or files).
\param aStudy The study which will be saved
\param theMultiFile If this parameter is True the study will be saved in several files.
- <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+<em>See \ref example1 for an example of this method usage in batchmode of %SALOME application.</em>
*/
- void SaveAs(in URL aUrl, // if the file already exists
- in Study aStudy,
- in boolean theMultiFile); // overwrite (as option)
+ boolean SaveAs(in URL aUrl, // if the file already exists
+ in Study aStudy,
+ in boolean theMultiFile); // overwrite (as option)
/*! \brief Saving the study in a specified ASCII file (or files).
Saves the study in a specified ASCII file (or files).
\param aStudy The study which will be saved
\param theMultiFile If this parameter is True the study will be saved in several files.
*/
- void SaveAsASCII(in URL aUrl, // if the file already exists
- in Study aStudy,
- in boolean theMultiFile); // overwrite (as option)
+ boolean SaveAsASCII(in URL aUrl, // if the file already exists
+ in Study aStudy,
+ in boolean theMultiFile); // overwrite (as option)
/*! \brief List of open studies.
an object into a study, which is protected for modifications.
*/
SObject Paste(in SObject theObject) raises (SALOMEDS::StudyBuilder::LockProtection);
+
+/*! \brief Object conversion.
+
+ Converts an object into IOR.
+ \return IOR
+*/
+ string ConvertObjectToIOR(in Object theObject);
+/*! \brief Object conversion.
+
+ Converts IOR into an object.
+ \return An object
+*/
+ Object ConvertIORToObject(in string theIOR);
+
+/*!
+ Private method, returns an implementation of this StudyManager.
+ \param theHostname is a hostname of the caller
+ \param thePID is a process ID of the caller
+ \param isLocal is set True if the StudyManager is launched locally with the caller
+*/
+ long long GetLocalImpl(in string theHostname, in long thePID, out boolean isLocal);
+
};
The objects in the %study are built by the %StudyBuilder. The %SObject interface
provides methods for elementary inquiries, like getting an object %ID or its attribuites.
\note
-
+
<BR><VAR>Tag</VAR> of an item in %SALOME application is an integer value uniquely defining an item
in the tree-type data structure.
<BR><VAR>ID</VAR> of an item is a description of item's position in the tree-type data structure.
*/
//==========================================================================
- interface SObject
+ interface SObject : SALOME::GenericObj
{
/*! Name of the %SObject
*/
attribute string Name; // equivalent to setName() & getName()
-/*! Gets an object %ID
+/*! Returns true if the %SObject does not belong to any %Study
+*/
+ boolean IsNull();
+
+/*! Gets an object %ID
\return ID of the %SObject.
*/
ID GetID();
-/*! Acquisition of the father %Component of the %SObject
+/*! Acquisition of the father %Component of the %SObject
\return The father %Component of the %SObject.
*/
SComponent GetFatherComponent();
-/*! Acquisition of the father %SObject of the %SObject
+/*! Acquisition of the father %SObject of the %SObject
\return the father %SObject of the given %SObject.
*/
SObject GetFather();
-/*! Gets the %tag of a %SObject
+/*! Gets the %tag of a %SObject
\return the %tag of a %SObject.
*/
short Tag();
-/*! Gets the depth of a %SObject
+/*! Returns a tag of the last child %SObject (if any) of this %SObject.
+ Returns zero if this %SObject has no children.
+*/
+ short GetLastChildTag();
+
+/*! Gets the depth of a %SObject
\return the depth of a %SObject.
*/
short Depth();
-/*! Looks for subobjects of a given %SObject.
+/*! Looks for subobjects of a given %SObject.
\param atag Tag of the given %SObject
\return True if it finds a subobject of the %SObject with a definite tag as well as the required subobject.
*/
-
boolean FindSubObject (in long atag, out SObject obj);
-/*! Looks for attributes of a given %SObject
+/*! Looks for attributes of a given %SObject
\param aTypeOfAttribute String value defining the type of the required attribute of the given %SObject.
\return True if it finds an attribute of a definite type of the given %SObject as well as the discovered attribute.
-<BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+<em>See \ref example1 for an example of this method usage in batchmode of %SALOME application.</em>
*/
boolean FindAttribute(out GenericAttribute anAttribute,
- in string aTypeOfAttribute);
-/*! Looks for a %SObject which the given %SObject refers to.
+ in string aTypeOfAttribute);
+/*! Looks for a %SObject which the given %SObject refers to.
\return The object which the given %SObject refers to as well as True if it finds
this object.
*/
boolean ReferencedObject(out SObject obj); // A REVOIR
-/*! Gets all attributes of a given %SObject
+/*! Gets all attributes of a given %SObject
\return The list of all attributes of the given %SObject.
-<BR><VAR>See also <A href=exemple/Example17.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+<em>See \ref example17 for an example of this method usage in batchmode of %SALOME application.</em>
*/
ListOfAttributes GetAllAttributes();
-/*! Gets the study of a given %SObject.
- /return The study containing the given %SObject.
+/*! Gets the study of a given %SObject.
+ \return The study containing the given %SObject.
*/
Study GetStudy();
/*! Gets the CORBA object by its own IOR attribute.
Returns nil, if can't.
-
- /return The CORBA object of the %SObject.
+ \return The CORBA object of the %SObject.
*/
Object GetObject();
Returns empty string if there is no IOR attribute.
*/
string GetIOR();
+
+/*!
+ Set an attribute value (of type string)
+ \param name the name of the attribute
+ \param value the value of the attribute
+*/
+ void SetAttrString(in string name, in string value);
+
+/*!
+ Private method, returns an implementation of this SObject.
+ \param theHostname is a hostname of the caller
+ \param thePID is a process ID of the caller
+ \param isLocal is set True if the SObject is launched locally with the caller
+*/
+ long long GetLocalImpl(in string theHostname, in long thePID, out boolean isLocal);
};
%Generic attribute is a base interface for all attributes which can be assigned to the SObjects created in the study.
*/
//==========================================================================
- interface GenericAttribute
+ interface GenericAttribute : SALOME::GenericObj
{
/*! \brief Exception locking all changes
*/
void CheckLocked() raises (LockProtection);
- string Store();
-
- void Restore(in string theData);
-
+ //! Get Type
string Type();
+ //! Get the class type
+ string GetClassType();
+
+ //! Get SObject
SObject GetSObject();
+
+ //! Private method, returns an implementation of this GenericAttribute.
+/*!
+ \param theHostname is a hostname of the caller
+ \param thePID is a process ID of the caller
+ \param isLocal is set True if the GenericAttribute is launched locally with the caller
+*/
+ long long GetLocalImpl(in string theHostname, in long thePID, out boolean isLocal);
};
//==========================================================================
interface SComponent : SObject
{
-/*! Gets the data type of the given %SComponent
+/*! \brief Gets the data type of the given %SComponent
\return The data type of this %SComponent.
*/
string ComponentDataType();
-/*! Gets the IOR of the given component
+/*! \brief Gets the IOR of the given component
\return True (if there is an instance of the given component) and its IOR.
*/
The search is started from the first %SComponent in the list.
*/
//==========================================================================
- interface SComponentIterator
+ interface SComponentIterator : SALOME::GenericObj
{
/*!
-Activates the %SComponentIterator.
+\brief Activates the %SComponentIterator.
*/
void Init();
-/*! Method More
+/*! \brief Method More
\return True if there is one more %SComponent in the list.
*/
boolean More();
/*!
-Moves the iterator to the next %SComponent in the list.
+\brief Moves the iterator to the next %SComponent in the list.
*/
void Next();
/*!
- Returns the %SComponent corresponding to the current %SComponent found by the iterator.
+ \brief Returns the %SComponent corresponding to the current %SComponent found by the iterator.
- <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+<em>See \ref example1 for an example of this method usage in batchmode of %SALOME application.</em>
*/
SComponent Value();
levels.
*/
//==========================================================================
- interface ChildIterator
+ interface ChildIterator : SALOME::GenericObj
{
/*!
-Activates the %ChildIterator.
+\brief Activates the %ChildIterator.
*/
void Init();
/*!
-Activates the %ChildIterator for all child levels.
+\brief Activates the %ChildIterator for all child levels.
\param allLevels If this boolean parameter is True, the %ChildIterator will be activated for all child levels.
*/
void InitEx(in boolean allLevels);
-/*! Method More
+/*! \brief Method More
\return True if there is one more %ChildIterator in the list.
*/
boolean More();
/*!
- Passes the iterator to the next level.
+ \brief Passes the iterator to the next level.
*/
void Next();
/*!
- Returns the %SObject corresponding to the current object found by the iterator.
+ \brief Returns the %SObject corresponding to the current object found by the iterator.
*/
SObject Value();
};
This interface contains a set of methods used for iteration over the objects in the use case.
*/
- interface UseCaseIterator
+ interface UseCaseIterator : SALOME::GenericObj
{
/*!
Activates the %UseCaseIterator.
Use case in the study represents a user-managed subtree, containing all or some of the objects which exist in the study.
The %UseCaseBuilder interface contains a set of methods used for management of the use case in the study.
*/
- interface UseCaseBuilder
+ interface UseCaseBuilder : SALOME::GenericObj
{
/*!
Adds to the use case an object as a child of the current object of the use case.
Returns True if the given object <VAR>theObject</VAR> of the use case has child objects.
*/
boolean HasChildren(in SObject theObject);
+/*!
+ Returns True if children of the given object <VAR>theObject</VAR> of the use case tree were sorted successfully.
+*/
+ boolean SortChildren(in SObject theObject, in boolean theAscendingOrder);
+/*!
+ Gets father object of the given object <VAR>theObject</VAR> in the use cases tree.
+*/
+ SObject GetFather(in SObject theObject);
/*!
Sets the name of the use case.
*/
Returns True if the given object <VAR>theObject</VAR> represents a use case.
*/
boolean IsUseCase(in SObject theObject);
+/*!
+ Returns True if the given object <VAR>theObject</VAR> is included in the use cases tree on any level.
+*/
+ boolean IsUseCaseNode(in SObject theObject);
/*!
Gets the current object of the use case.
*/
UseCaseIterator GetUseCaseIterator(in SObject theObject);
};
//==========================================================================
- //==========================================================================
-/*! \brief The callback interface
-
- The %StudyBuilder can be created with the method <VAR>NewBuilder</VAR>. While invocation of this method a new object of the class <VAR>Callback</VAR> is created
- and this object is assigned to the newly created Builder as callback which should be called when adding and removing of the ojects.
-*/
- interface Callback
- {
-/*!
- Invokes the corresponding method <VAR>Append</VAR> of the %UseCaseBuilder.
-*/
- void OnAddSObject(in SObject theObject);
-/*!
- Invokes the corresponding method <VAR>Remove</VAR> of the %UseCaseBuilder.
-*/
- void OnRemoveSObject(in SObject theObject);
- };
-
- //==========================================================================
/*! \brief %Driver interface
This class represents a common tool for all components integrated into SALOME application, that allows them to communicate with the study. It contains a set of methods which
\param isMultiFile If the value of this boolean parameter is True, the data will be saved in several files.
\return A byte stream TMPFile that contains all saved data
-<BR><VAR>See also <A href=exemple/Example19.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+<em>See \ref example19 for an example of this method usage in batchmode of %SALOME application.</em>
*/
\param isMultiFile If the value of this boolean parameter is True, the data will be saved in several files.
\return A byte stream TMPFile that will contain all saved data
-<BR><VAR>See also <A href=exemple/Example19.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
+<em>See \ref example19 for an example of this method usage in batchmode of %SALOME application.</em>
*/
TMPFile SaveASCII(in SComponent theComponent, in string theURL, in boolean isMultiFile);
*/
string IORToLocalPersistentID (in SObject theSObject,
- in string IORString,
- in boolean isMultiFile,
- in boolean isASCII);
+ in string IORString,
+ in boolean isMultiFile,
+ in boolean isASCII);
/*!
Transforms PersistentID into IOR of the object. It is called for each
object in the %study.
*/
string LocalPersistentIDToIOR (in SObject theSObject,
- in string aLocalPersistentID,
- in boolean isMultiFile,
- in boolean isASCII)
+ in string aLocalPersistentID,
+ in boolean isMultiFile,
+ in boolean isASCII)
raises (SALOME::SALOME_Exception);
// Publishing in the study