X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSALOMEDS%2FSALOMEDS_Driver_i.hxx;h=6a6647ac9ae1a7979154b49dab6bd8c5718fed9d;hb=83f6420d3682a53ec22b946b95c037e83a05ca59;hp=ae49cdba2ebb6171b0d6fa67704f6101eaac1693;hpb=35960e77d7f9f2a5cac7d6550c23f12943bc4378;p=modules%2Fkernel.git diff --git a/src/SALOMEDS/SALOMEDS_Driver_i.hxx b/src/SALOMEDS/SALOMEDS_Driver_i.hxx index ae49cdba2..6a6647ac9 100644 --- a/src/SALOMEDS/SALOMEDS_Driver_i.hxx +++ b/src/SALOMEDS/SALOMEDS_Driver_i.hxx @@ -1,32 +1,35 @@ -// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// Copyright (C) 2007-2013 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 -// +// // 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 +// License as published by the Free Software Foundation; either // version 2.1 of the License. -// -// 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 +// +// 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 +// 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/ +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + #ifndef __SALOMEDS_DRIVER_I_H__ #define __SALOMEDS_DRIVER_I_H__ -#include -#include +#include + +#include #include "SALOMEDSImpl_Driver.hxx" #include "SALOMEDSImpl_SComponent.hxx" #include "SALOMEDSImpl_SObject.hxx" -#include #include CORBA_SERVER_HEADER(SALOMEDS) #include CORBA_SERVER_HEADER(SALOME_Component) @@ -34,82 +37,72 @@ class Standard_EXPORT SALOMEDS_Driver_i : public virtual SALOMEDSImpl_Driver { protected: SALOMEDS::Driver_var _driver; + Engines::EngineComponent_var _engine; CORBA::ORB_var _orb; public: + SALOMEDS_Driver_i(Engines::EngineComponent_ptr theEngine, CORBA::ORB_ptr theORB); + SALOMEDS_Driver_i(SALOMEDS::Driver_ptr theDriver, CORBA::ORB_ptr theORB); + ~SALOMEDS_Driver_i(); - SALOMEDS_Driver_i(SALOMEDS::Driver_ptr theDriver, CORBA::ORB_ptr theORB) - { - _driver = SALOMEDS::Driver::_duplicate(theDriver); - _orb = CORBA::ORB::_duplicate(theORB); - } + virtual std::string GetIOR(); - ~SALOMEDS_Driver_i(); + virtual SALOMEDSImpl_TMPFile* Save(const SALOMEDSImpl_SComponent& theComponent, + const std::string& theURL, + long& theStreamLength, + bool isMultiFile); - virtual TCollection_AsciiString GetIOR() - { - CORBA::String_var ior = _orb->object_to_string(_driver); - return TCollection_AsciiString(ior); - } - - virtual unsigned char* Save(const Handle(SALOMEDSImpl_SComponent)& theComponent, - const TCollection_AsciiString& theURL, - long& theStreamLength, - bool isMultiFile); - - virtual unsigned char* SaveASCII(const Handle(SALOMEDSImpl_SComponent)& theComponent, - const TCollection_AsciiString& theURL, - long& theStreamLength, - bool isMultiFile); + virtual SALOMEDSImpl_TMPFile* SaveASCII(const SALOMEDSImpl_SComponent& theComponent, + const std::string& theURL, + long& theStreamLength, + bool isMultiFile); - virtual bool Load(const Handle(SALOMEDSImpl_SComponent)& theComponent, - const unsigned char* theStream, - const long theStreamLength, - const TCollection_AsciiString& theURL, - bool isMultiFile); - - virtual bool LoadASCII(const Handle(SALOMEDSImpl_SComponent)& theComponent, - const unsigned char* theStream, - const long theStreamLength, - const TCollection_AsciiString& theURL, - bool isMultiFile); - - virtual void Close(const Handle(SALOMEDSImpl_SComponent)& theComponent); + virtual bool Load(const SALOMEDSImpl_SComponent& theComponent, + const unsigned char* theStream, + const long theStreamLength, + const std::string& theURL, + bool isMultiFile); + + virtual bool LoadASCII(const SALOMEDSImpl_SComponent& theComponent, + const unsigned char* theStream, + const long theStreamLength, + const std::string& theURL, + bool isMultiFile); + + virtual void Close(const SALOMEDSImpl_SComponent& theComponent); - virtual TCollection_AsciiString ComponentDataType() - { - CORBA::String_var ior = _driver->ComponentDataType(); - return TCollection_AsciiString(ior); - } - - - virtual TCollection_AsciiString IORToLocalPersistentID(const Handle(SALOMEDSImpl_SObject)& theSObject, - const TCollection_AsciiString& IORString, - bool isMultiFile, - bool isASCII); + virtual std::string ComponentDataType(); - virtual TCollection_AsciiString LocalPersistentIDToIOR(const Handle(SALOMEDSImpl_SObject)& theSObject, - const TCollection_AsciiString& aLocalPersistentID, - bool isMultiFile, - bool isASCII); + virtual std::string Version(); - virtual bool CanCopy(const Handle(SALOMEDSImpl_SObject)& theObject); + virtual std::string IORToLocalPersistentID(const SALOMEDSImpl_SObject& theSObject, + const std::string& IORString, + bool isMultiFile, + bool isASCII); - virtual unsigned char* CopyFrom(const Handle(SALOMEDSImpl_SObject)& theObject, - int& theObjectID, - long& theStreamLength); + virtual std::string LocalPersistentIDToIOR(const SALOMEDSImpl_SObject& theSObject, + const std::string& aLocalPersistentID, + bool isMultiFile, + bool isASCII); - virtual bool CanPaste(const TCollection_AsciiString& theComponentName, int theObjectID); + virtual bool CanCopy(const SALOMEDSImpl_SObject& theObject); - virtual TCollection_AsciiString PasteInto(const unsigned char* theStream, - const long theStreamLength, - int theObjectID, - const Handle(SALOMEDSImpl_SObject)& theObject); - - virtual unsigned char* DumpPython(const Handle(SALOMEDSImpl_Study)& theStudy, - bool isPublished, - bool& isValidScript, - long& theStreamLength); + virtual SALOMEDSImpl_TMPFile* CopyFrom(const SALOMEDSImpl_SObject& theObject, + int& theObjectID, + long& theStreamLength); + + virtual bool CanPaste(const std::string& theComponentName, int theObjectID); + + virtual std::string PasteInto(const unsigned char* theStream, + const long theStreamLength, + int theObjectID, + const SALOMEDSImpl_SObject& theObject); + + virtual SALOMEDSImpl_TMPFile* DumpPython(SALOMEDSImpl_Study* theStudy, + bool isPublished, + bool isMultiFile, + bool& isValidScript, + long& theStreamLength); }; #include "SALOME_NamingService.hxx" @@ -118,26 +111,18 @@ public: class SALOMEDS_DriverFactory_i : public virtual SALOMEDSImpl_DriverFactory { protected: - CORBA::ORB_ptr _orb; + CORBA::ORB_var _orb; SALOME_NamingService* _name_service; public: - SALOMEDS_DriverFactory_i(CORBA::ORB_ptr theORB) - { - _orb = CORBA::ORB::_duplicate(theORB); - _name_service = new SALOME_NamingService(_orb); - } - + SALOMEDS_DriverFactory_i(CORBA::ORB_ptr theORB); - ~SALOMEDS_DriverFactory_i() - { - delete _name_service; - } + ~SALOMEDS_DriverFactory_i(); - virtual SALOMEDSImpl_Driver* GetDriverByType(const TCollection_AsciiString& theComponentType); + virtual SALOMEDSImpl_Driver* GetDriverByType(const std::string& theComponentType); - virtual SALOMEDSImpl_Driver* GetDriverByIOR(const TCollection_AsciiString& theIOR); + virtual SALOMEDSImpl_Driver* GetDriverByIOR(const std::string& theIOR); }; #endif