X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSALOMEDS%2FSALOMEDS_Study_i.hxx;h=232b0fb4cadfaaae13362c299e5f5bd91402d9fe;hb=074699f122e9bfd758dc805ca0023d355ce25ec5;hp=d988daa48980d470f9422a733010db99cb807ab7;hpb=0fac7040be417aab7228a4e23904b4cf22a8dda4;p=modules%2Fkernel.git diff --git a/src/SALOMEDS/SALOMEDS_Study_i.hxx b/src/SALOMEDS/SALOMEDS_Study_i.hxx index d988daa48..232b0fb4c 100644 --- a/src/SALOMEDS/SALOMEDS_Study_i.hxx +++ b/src/SALOMEDS/SALOMEDS_Study_i.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2016 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 @@ -42,6 +42,7 @@ #include "SALOMEDS_StudyBuilder_i.hxx" #include "SALOMEDS_SObject_i.hxx" #include "SALOMEDS_UseCaseBuilder_i.hxx" +#include "SALOMEDS_Driver_i.hxx" #include "SALOMEDSImpl_Study.hxx" #include "SALOMEDSImpl_AttributeIOR.hxx" @@ -49,21 +50,56 @@ class Standard_EXPORT SALOMEDS_Study_i: public POA_SALOMEDS::Study { private: + + void NameChanged(); CORBA::ORB_var _orb; SALOMEDSImpl_Study* _impl; SALOMEDS_StudyBuilder_i* _builder; - static std::map _mapOfStudies; SALOMEDSImpl_AbstractCallback* _notifier; SALOMEDSImpl_AbstractCallback* _genObjRegister; + SALOMEDS_DriverFactory_i* _factory; + bool _closed; public: //! standard constructor - SALOMEDS_Study_i(SALOMEDSImpl_Study*, CORBA::ORB_ptr); + SALOMEDS_Study_i(CORBA::ORB_ptr); //! standard destructor - virtual ~SALOMEDS_Study_i(); + virtual ~SALOMEDS_Study_i(); + virtual void Init(); + virtual void Clear(); + + //! method to Open a Study + /*! + \param char* arguments, the study URL + \return Study_ptr arguments + */ + virtual bool Open(const char* aStudyUrl) throw (SALOME::SALOME_Exception); + + //! method to save a Study + virtual CORBA::Boolean Save(CORBA::Boolean theMultiFile, CORBA::Boolean theASCII); + + //! method to save a Study to the persistent reference aUrl + /*! + \param char* arguments, the new URL of the study + */ + virtual CORBA::Boolean SaveAs(const char* aUrl, CORBA::Boolean theMultiFile, CORBA::Boolean theASCII); + + //! method to copy the object + /*! + \param theObject object to copy + */ + virtual CORBA::Boolean Copy(SALOMEDS::SObject_ptr theObject); + virtual CORBA::Boolean CanCopy(SALOMEDS::SObject_ptr theObject); + //! method to paste the object in study + /*! + \param theObject object to paste + */ + virtual SALOMEDS::SObject_ptr Paste(SALOMEDS::SObject_ptr theObject) throw(SALOMEDS::StudyBuilder::LockProtection); + virtual CORBA::Boolean CanPaste(SALOMEDS::SObject_ptr theObject); + //! method to Get persistent reference of study (idem URL()) /*! \sa URL() @@ -71,13 +107,6 @@ public: */ virtual char* GetPersistentReference(); - - //! method to Get transient reference of study - /*! - \return char* arguments, the transient reference of the study - */ - virtual char* GetTransientReference(); - //! method to detect if a study is empty /*! \return bool arguments, true if study is empty @@ -150,36 +179,6 @@ public: */ virtual char* GetObjectPath(CORBA::Object_ptr theObject); - //! method to set a context: root ('/') is UserData component - /*! - */ - virtual void SetContext(const char* thePath); - - //! method to get a context - /*! - */ - virtual char* GetContext(); - - //! method to get all object names in the given context (or in the current context, if 'theContext' is empty) - /*! - */ - virtual SALOMEDS::ListOfStrings* GetObjectNames(const char* theContext); - - //! method to get all directory names in the given context (or in the current context, if 'theContext' is empty) - /*! - */ - virtual SALOMEDS::ListOfStrings* GetDirectoryNames(const char* theContext); - - //! method to get all file names in the given context (or in the current context, if 'theContext' is empty) - /*! - */ - virtual SALOMEDS::ListOfStrings* GetFileNames(const char* theContext); - - //! method to get all components names - /*! - */ - virtual SALOMEDS::ListOfStrings* GetComponentNames(const char* theContext); - //! method to Create a ChildIterator from an SObject /*! \param aSO SObject_ptr arguments @@ -205,12 +204,6 @@ public: */ virtual char* Name(); - //! method to set study name - /*! - \param name char* arguments, the study name - */ - virtual void Name(const char* name); - //! method to get if study has been saved /*! \return bool arguments @@ -244,12 +237,6 @@ public: */ virtual void URL(const char* url); - virtual CORBA::Short StudyId(); - virtual void StudyId(CORBA::Short id); - - static SALOMEDS::Study_ptr GetStudy(const DF_Label& theLabel, CORBA::ORB_ptr orb); - static SALOMEDS_Study_i* GetStudyServant(SALOMEDSImpl_Study*, CORBA::ORB_ptr orb); - static void IORUpdated(SALOMEDSImpl_AttributeIOR* theAttribute); virtual void UpdateIORLabelMap(const char* anIOR, const char* aLabel); @@ -267,8 +254,6 @@ public: virtual SALOMEDS::UseCaseBuilder_ptr GetUseCaseBuilder(); - virtual void Close(); - void EnableUseCaseAutoFilling(CORBA::Boolean isEnabled); // postponed destroying of CORBA object functionality @@ -276,17 +261,10 @@ public: virtual void AddCreatedPostponed(const char* theIOR); -#ifndef WIN32 - virtual void RemovePostponed(const CORBA::Long theUndoLimit); // removes postponed IORs of old transaction - // if theUndoLimit==0, removes all - virtual void UndoPostponed(const CORBA::Long theWay); // theWay = 1: resurrect objects, - // theWay = -1: get back to the list of postponed -#else virtual void RemovePostponed(CORBA::Long theUndoLimit); // removes postponed IORs of old transaction // if theUndoLimit==0, removes all virtual void UndoPostponed(CORBA::Long theWay); // theWay = 1: resurrect objects, // theWay = -1: get back to the list of postponed -#endif virtual SALOMEDS::AttributeParameter_ptr GetCommonParameters(const char* theID, CORBA::Long theSavePoint); virtual SALOMEDS::AttributeParameter_ptr GetModuleParameters(const char* theID, @@ -350,6 +328,12 @@ public: virtual CORBA::LongLong GetLocalImpl(const char* theHostname, CORBA::Long thePID, CORBA::Boolean& isLocal); + void ping(){}; + CORBA::Long getPID(); + void ShutdownWithExit(); + + void Shutdown(); + virtual void attach(SALOMEDS::Observer_ptr theObs, CORBA::Boolean modify); virtual void detach(SALOMEDS::Observer_ptr theObs); };