-// Copyright (C) 2005 OPEN CASCADE, CEA/DEN, EDF R&D, PRINCIPIA R&D
-//
+// 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
//
+
#include "LightApp_Driver.h"
#include <TCollection_AsciiString.hxx>
#include <OSD_Path.hxx>
#include <OSD_File.hxx>
#include <OSD_Directory.hxx>
-#include <OSD_Process.hxx>
-#include <OSD_Directory.hxx>
#include <OSD_Protection.hxx>
-#include <OSD_SingleProtection.hxx>
#include <OSD_FileIterator.hxx>
-#include <qfileinfo.h>
-#include <qdir.h>
+#include <QFileInfo>
+#include <QDir>
#ifdef WIN32
#include <time.h>
{
}
-using namespace std;
-
-//================================================================
-// Function : SaveDatasInFile
-/*! Purpose : save in file 'theFileName' datas from this driver*/
-//================================================================
+/*!
+ Save in file 'theFileName' datas from this driver
+*/
bool LightApp_Driver::SaveDatasInFile( const char* theFileName, bool isMultiFile )
{
int aNbModules = 0;
if(aFileBuffer == NULL)
return false;
- myTmpDir = QDir::convertSeparators( QFileInfo( theFileName ).dirPath( true ) + "/" ).latin1() ;
+ myTmpDir = QDir::toNativeSeparators( QFileInfo( theFileName ).absolutePath() + "/" ).toUtf8().constData() ;
int aCurrentPos = 0;
aCurrentPos += aBufferSize[i];
}
-#ifdef WNT
+#ifdef WIN32
ofstream aFile(theFileName, ios::out | ios::binary);
#else
ofstream aFile(theFileName);
return true;
}
-//=======================================================================
-// name : ReaDatasFromFile
-/*! Purpose : filling current driver from file 'theFileName'*/
-//=======================================================================
+/*!
+ Filling current driver from file 'theFileName'
+*/
bool LightApp_Driver::ReadDatasFromFile( const char* theFileName, bool isMultiFile )
{
-#ifdef WNT
+#ifdef WIN32
ifstream aFile(theFileName, ios::binary);
#else
ifstream aFile(theFileName);
#endif
- myTmpDir = QDir::convertSeparators( QFileInfo( theFileName ).dirPath( true ) + "/" ).latin1() ;
+ myTmpDir = QDir::toNativeSeparators( QFileInfo( theFileName ).absolutePath() + "/" ).toUtf8().constData() ;
aFile.seekg(0, ios::end);
int aFileBufferSize = aFile.tellg();
return true;
}
-//================================================================
-// Function : GetTmpDir
-/*! Purpose : returns temp directory for path 'theURL'*/
-//================================================================
+/*!
+ \return temp directory for path 'theURL'
+*/
std::string LightApp_Driver::GetTmpDir (const char* theURL, const bool isMultiFile)
{
std::string anURLDir = GetDirFromPath(theURL);
return aTmpDir;
}
-//================================================================
-// Function : GetListOfFiles
-/*! Purpose : returns list of files for module with name 'theModuleName'*/
-//================================================================
+/*!
+ \return list of files for module with name 'theModuleName'
+*/
LightApp_Driver::ListOfFiles LightApp_Driver::GetListOfFiles( const char* theModuleName )
{
ListOfFiles aListOfFiles;
return aListOfFiles;
}
-//================================================================
-// Function : SetListOfFiles
-/*! Purpose : sets list of files for module with name 'theModuleName'*/
-//================================================================
+/*!
+ Sets list of files for module with name 'theModuleName'
+*/
void LightApp_Driver::SetListOfFiles( const char* theModuleName, const ListOfFiles theListOfFiles )
{
std::string aName (theModuleName);
myMap[aName] = theListOfFiles;
}
-//============================================================================
-// function : PutFilesToStream
-/*! Purpose : converts files which was created from module <theModuleName> into a byte sequence unsigned char*/
-//============================================================================
+/*!
+ Converts files which was created from module <theModuleName> into a byte sequence unsigned char
+*/
void LightApp_Driver::PutFilesToStream( const std::string& theModuleName, unsigned char*& theBuffer,
long& theBufferSize, bool theNamesOnly )
{
OSD_Path anOSDPath(aFullPath);
OSD_File anOSDFile(anOSDPath);
if(!anOSDFile.Exists()) continue;
-#ifdef WNT
+#ifdef WIN32
ifstream aFile(aFullPath.ToCString(), ios::binary);
#else
ifstream aFile(aFullPath.ToCString());
OSD_Path anOSDPath(aFullPath);
OSD_File anOSDFile(anOSDPath);
if(!anOSDFile.Exists()) continue;
-#ifdef WNT
+#ifdef WIN32
aFile = new ifstream(aFullPath.ToCString(), ios::binary);
#else
aFile = new ifstream(aFullPath.ToCString());
theBufferSize = aBufferSize;
}
-//============================================================================
-// function : PutStreamToFile
-/*! Purpose : converts a byte sequence <theBuffer> to files and return list of them*/
-//============================================================================
+/*!
+ Converts a byte sequence <theBuffer> to files and return list of them
+*/
LightApp_Driver::ListOfFiles LightApp_Driver::PutStreamToFiles( const unsigned char* theBuffer,
const long theBufferSize, bool theNamesOnly )
{
TCollection_AsciiString aFullPath = aTmpDir + aFileName;
-#ifdef WNT
+#ifdef WIN32
ofstream aFile(aFullPath.ToCString(), ios::out | ios::binary);
#else
ofstream aFile(aFullPath.ToCString());
return aFiles;
}
-//============================================================================
-// function : RemoveFiles
-/*! Purpose : Remove files. First item in <theFiles> is a directory with slash at the end.
- Other items are names of files. If <IsDirDeleted> is true,
- then the directory is also deleted.
+/*!
+ Remove files. First item in <theFiles> is a directory with slash at the end.
+ Other items are names of files. If <IsDirDeleted> is true,
+ then the directory is also deleted.
*/
-//============================================================================
void LightApp_Driver::RemoveFiles( const ListOfFiles& theFiles, const bool IsDirDeleted)
{
int i, aLength = theFiles.size() - 1;
}
}
-//============================================================================
-// function : RemoveTemporaryFiles
-/*! Purpose : removes files which was created from module theModuleName if
- <IsDirDeleted> is true tmp directory is also deleted if it is empty*/
-//============================================================================
+/*!
+ Removes files which was created from module theModuleName if
+ <IsDirDeleted> is true tmp directory is also deleted if it is empty
+*/
void LightApp_Driver::RemoveTemporaryFiles( const char* theModuleName, const bool IsDirDeleted )
{
std::string aModuleName(theModuleName);
}
-//============================================================================
-// function : ClearDriverContents
-/*! Purpose : clear map of list files*/
-//============================================================================
+/*!
+ Clears map of list files
+*/
void LightApp_Driver::ClearDriverContents()
{
std::map<std::string, ListOfFiles>::iterator it;
SetIsTemporary( false );
}
-//============================================================================
-// function : GetTempDir
-/*! Purpose : return a temp directory to store created files like "/tmp/sub_dir/" */
-//============================================================================
+/*!
+ \return a temp directory to store created files like "/tmp/sub_dir/"
+*/
std::string LightApp_Driver::GetTmpDir()
{
if ( myTmpDir.length() != 0 )
return aTmpDir.ToCString();
}
-//============================================================================
-// function : GetDirFromPath
-/*! Purpose : returns the dir by the path*/
-//============================================================================
+/*!
+ \return the dir by the path
+*/
std::string LightApp_Driver::GetDirFromPath( const std::string& thePath ) {
if(thePath == "")
return "";