X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSALOMEDSImpl%2FSALOMEDSImpl_Driver.hxx;h=804218c126eadcdaf348a7eab9a814928bebebfd;hb=ebe3541632797c5fad97573b46655718ddd61444;hp=e3d53663a3eee5ca0d45a9218f2149767a63112b;hpb=35960e77d7f9f2a5cac7d6550c23f12943bc4378;p=modules%2Fkernel.git diff --git a/src/SALOMEDSImpl/SALOMEDSImpl_Driver.hxx b/src/SALOMEDSImpl/SALOMEDSImpl_Driver.hxx index e3d53663a..804218c12 100644 --- a/src/SALOMEDSImpl/SALOMEDSImpl_Driver.hxx +++ b/src/SALOMEDSImpl/SALOMEDSImpl_Driver.hxx @@ -1,99 +1,105 @@ -// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// 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 -// +// // 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. -// -// 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 +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// 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 __SALOMEDSIMPL_DRIVER_H__ #define __SALOMEDSIMPL_DRIVER_H__ -#include -#include -#include +#include "SALOMEDSImpl_Defines.hxx" +#include +#include "SALOMEDSImpl_SComponent.hxx" +#include "SALOMEDSImpl_SObject.hxx" +#include "SALOMEDSImpl_TMPFile.hxx" -class SALOMEDSImpl_Driver +class SALOMEDSIMPL_EXPORT SALOMEDSImpl_Driver { public: - virtual TCollection_AsciiString GetIOR() = 0; - - virtual unsigned char* Save(const Handle(SALOMEDSImpl_SComponent)& theComponent, - const TCollection_AsciiString& theURL, - long& theStreamLength, - bool isMultiFile) = 0; - - virtual unsigned char* SaveASCII(const Handle(SALOMEDSImpl_SComponent)& theComponent, - const TCollection_AsciiString& theURL, - long& theStreamLength, - bool isMultiFile) = 0; - - virtual bool Load(const Handle(SALOMEDSImpl_SComponent)& theComponent, - const unsigned char* theStream, - const long theStreamLength, - const TCollection_AsciiString& theURL, - bool isMultiFile) = 0; - - virtual bool LoadASCII(const Handle(SALOMEDSImpl_SComponent)& theComponent, - const unsigned char* theStream, - const long theStreamLength, - const TCollection_AsciiString& theURL, - bool isMultiFile) = 0; - - virtual void Close(const Handle(SALOMEDSImpl_SComponent)& theComponent) = 0; - - virtual TCollection_AsciiString ComponentDataType() = 0; - - - virtual TCollection_AsciiString IORToLocalPersistentID(const Handle(SALOMEDSImpl_SObject)& theSObject, - const TCollection_AsciiString& IORString, - bool isMultiFile, - bool isASCII) = 0; - - virtual TCollection_AsciiString LocalPersistentIDToIOR(const Handle(SALOMEDSImpl_SObject)& theSObject, - const TCollection_AsciiString& aLocalPersistentID, - bool isMultiFile, - bool isASCII) = 0; - - virtual bool CanCopy(const Handle(SALOMEDSImpl_SObject)& theObject) = 0; - - virtual unsigned char* CopyFrom(const Handle(SALOMEDSImpl_SObject)& theObject, - int& theObjectID, - long& theStreamLength) = 0; - - virtual bool CanPaste(const TCollection_AsciiString& theComponentName, int theObjectID) = 0; - - virtual TCollection_AsciiString PasteInto(const unsigned char* theStream, - const long theStreamLength, - int theObjectID, - const Handle(SALOMEDSImpl_SObject)& theObject) = 0; - - virtual unsigned char* DumpPython(const Handle(SALOMEDSImpl_Study)& theStudy, - bool isPublished, - bool& isValidScript, - long& theStreamLength) = 0; + virtual std::string GetIOR() = 0; + + virtual SALOMEDSImpl_TMPFile* Save(const SALOMEDSImpl_SComponent& theComponent, + const std::string& theURL, + long& theStreamLength, + bool isMultiFile) = 0; + + virtual SALOMEDSImpl_TMPFile* SaveASCII(const SALOMEDSImpl_SComponent& theComponent, + const std::string& theURL, + long& theStreamLength, + bool isMultiFile) = 0; + + virtual bool Load(const SALOMEDSImpl_SComponent& theComponent, + const unsigned char* theStream, + const long theStreamLength, + const std::string& theURL, + bool isMultiFile) = 0; + + virtual bool LoadASCII(const SALOMEDSImpl_SComponent& theComponent, + const unsigned char* theStream, + const long theStreamLength, + const std::string& theURL, + bool isMultiFile) = 0; + + virtual void Close(const SALOMEDSImpl_SComponent& theComponent) = 0; + + virtual std::string ComponentDataType() = 0; + + virtual std::string Version() = 0; + + virtual std::string IORToLocalPersistentID(const SALOMEDSImpl_SObject& theSObject, + const std::string& IORString, + bool isMultiFile, + bool isASCII) = 0; + + virtual std::string LocalPersistentIDToIOR(const SALOMEDSImpl_SObject& theSObject, + const std::string& aLocalPersistentID, + bool isMultiFile, + bool isASCII) = 0; + + virtual bool CanCopy(const SALOMEDSImpl_SObject& theObject) = 0; + + virtual SALOMEDSImpl_TMPFile* CopyFrom(const SALOMEDSImpl_SObject& theObject, + int& theObjectID, + long& theStreamLength) = 0; + + virtual bool CanPaste(const std::string& theComponentName, int theObjectID) = 0; + + virtual std::string PasteInto(const unsigned char* theStream, + const long theStreamLength, + int theObjectID, + const SALOMEDSImpl_SObject& theObject) = 0; + + virtual SALOMEDSImpl_TMPFile* DumpPython(bool isPublished, + bool isMultiFile, + bool& isValidScript, + long& theStreamLength) = 0; }; class SALOMEDSImpl_DriverFactory { public: - - virtual SALOMEDSImpl_Driver* GetDriverByType(const TCollection_AsciiString& theComponentType) = 0; - virtual SALOMEDSImpl_Driver* GetDriverByIOR(const TCollection_AsciiString& theIOR) = 0; + virtual SALOMEDSImpl_Driver* GetDriverByType(const std::string& theComponentType) = 0; + + virtual SALOMEDSImpl_Driver* GetDriverByIOR(const std::string& theIOR) = 0; }; #endif