X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSALOMEDS%2FSALOMEDS_StudyManager.cxx;h=4dc29e939e34b312a158337cd8cfbbbdcdef8c1b;hb=88111dfab48ab5324a529bcf2a88ff93e4547afa;hp=1dae939cc4bb9ddc814c480c1e25b53fd97b38ed;hpb=f14439749926cca959747bb79fda10529520bd0b;p=modules%2Fkernel.git diff --git a/src/SALOMEDS/SALOMEDS_StudyManager.cxx b/src/SALOMEDS/SALOMEDS_StudyManager.cxx index 1dae939cc..4dc29e939 100644 --- a/src/SALOMEDS/SALOMEDS_StudyManager.cxx +++ b/src/SALOMEDS/SALOMEDS_StudyManager.cxx @@ -1,39 +1,43 @@ -// 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/ or email : webmaster.salome@opencascade.com // + // File : SALOMEDSClient_StudyManager.cxx // Author : Sergey RUIN // Module : SALOME - - +// #include "SALOMEDS_StudyManager.hxx" #include "SALOMEDS.hxx" #include "SALOMEDS_Study.hxx" #include "SALOMEDS_SObject.hxx" - #include "SALOMEDS_Driver_i.hxx" #include "SALOMEDSImpl_Study.hxx" -#include "Utils_ORB_INIT.hxx" -#include "Utils_SINGLETON.hxx" +#include "Utils_ORB_INIT.hxx" +#include "Utils_SINGLETON.hxx" +#include "utilities.h" + +#include "Basics_Utils.hxx" #ifdef WIN32 #include @@ -42,10 +46,6 @@ #include #endif -#include "OpUtil.hxx" - -using namespace std; - SALOMEDS_Driver_i* GetDriver(const SALOMEDSImpl_SObject& theObject, CORBA::ORB_ptr orb); SALOMEDS_StudyManager::SALOMEDS_StudyManager(SALOMEDS::StudyManager_ptr theManager) @@ -55,11 +55,11 @@ SALOMEDS_StudyManager::SALOMEDS_StudyManager(SALOMEDS::StudyManager_ptr theManag long pid = (long)_getpid(); #else long pid = (long)getpid(); -#endif +#endif - CORBA::LongLong addr = theManager->GetLocalImpl(GetHostname().c_str(), pid, _isLocal); + CORBA::LongLong addr = theManager->GetLocalImpl(Kernel_Utils::GetHostname().c_str(), pid, _isLocal); if(_isLocal) { - _local_impl = ((SALOMEDSImpl_StudyManager*)(addr)); + _local_impl = reinterpret_cast(addr); _corba_impl = SALOMEDS::StudyManager::_duplicate(theManager); } else { @@ -83,11 +83,11 @@ SALOMEDS_StudyManager::SALOMEDS_StudyManager() long pid = (long)_getpid(); #else long pid = (long)getpid(); -#endif +#endif - CORBA::LongLong addr = theManager->GetLocalImpl(GetHostname().c_str(), pid, _isLocal); + CORBA::LongLong addr = theManager->GetLocalImpl(Kernel_Utils::GetHostname().c_str(), pid, _isLocal); if(_isLocal) { - _local_impl = ((SALOMEDSImpl_StudyManager*)(addr)); + _local_impl = reinterpret_cast(addr); _corba_impl = SALOMEDS::StudyManager::_duplicate(theManager); } else { @@ -102,7 +102,7 @@ SALOMEDS_StudyManager::~SALOMEDS_StudyManager() _PTR(Study) SALOMEDS_StudyManager::NewStudy(const std::string& study_name) { - //SRN: Pure CORBA NewStudy as it does more initialization than the local one + //SRN: Pure CORBA NewStudy as it does more initialization than the local one SALOMEDSClient_Study* aStudy = NULL; SALOMEDS::Study_var aStudy_impl = _corba_impl->NewStudy((char*)study_name.c_str()); @@ -114,48 +114,49 @@ _PTR(Study) SALOMEDS_StudyManager::NewStudy(const std::string& study_name) _PTR(Study) SALOMEDS_StudyManager::Open(const std::string& theStudyUrl) { - //SRN: Pure CORBA Open as it does more initialization than the local one + //SRN: Pure CORBA Open as it does more initialization than the local one SALOMEDSClient_Study* aStudy = NULL; - SALOMEDS::Study_var aStudy_impl = _corba_impl->Open((char*)theStudyUrl.c_str()); + std::wstring wtheStudyUrl = std::wstring(theStudyUrl.begin(), theStudyUrl.end()); + SALOMEDS::Study_var aStudy_impl = _corba_impl->Open((wchar_t*)theStudyUrl.c_str()); if(CORBA::is_nil(aStudy_impl)) return _PTR(Study)(aStudy); - + aStudy = new SALOMEDS_Study(aStudy_impl.in()); return _PTR(Study)(aStudy); } - + void SALOMEDS_StudyManager::Close(const _PTR(Study)& theStudy) { //SRN: Pure CORBA close as it does more cleaning than the local one SALOMEDS::Study_var aStudy = _corba_impl->GetStudyByID(theStudy->StudyId()); _corba_impl->Close(aStudy); } - + bool SALOMEDS_StudyManager::Save(const _PTR(Study)& theStudy, bool theMultiFile) { - //SRN: Pure CORBA save as the save operation require CORBA in any case + //SRN: Pure CORBA save as the save operation require CORBA in any case SALOMEDS::Study_var aStudy = _corba_impl->GetStudyByID(theStudy->StudyId()); return _corba_impl->Save(aStudy, theMultiFile); } - + bool SALOMEDS_StudyManager::SaveASCII(const _PTR(Study)& theStudy, bool theMultiFile) { - //SRN: Pure CORBA save as the save operation require CORBA in any case + //SRN: Pure CORBA save as the save operation require CORBA in any case SALOMEDS::Study_var aStudy = _corba_impl->GetStudyByID(theStudy->StudyId()); return _corba_impl->SaveASCII(aStudy, theMultiFile); } - + bool SALOMEDS_StudyManager::SaveAs(const std::string& theUrl, const _PTR(Study)& theStudy, bool theMultiFile) { - //SRN: Pure CORBA save as the save operation require CORBA in any case + //SRN: Pure CORBA save as the save operation require CORBA in any case SALOMEDS::Study_var aStudy = _corba_impl->GetStudyByID(theStudy->StudyId()); return _corba_impl->SaveAs((char*)theUrl.c_str(), aStudy, theMultiFile); } - + bool SALOMEDS_StudyManager::SaveAsASCII(const std::string& theUrl, const _PTR(Study)& theStudy, bool theMultiFile) { - //SRN: Pure CORBA save as the save operation require CORBA in any case + //SRN: Pure CORBA save as the save operation require CORBA in any case SALOMEDS::Study_var aStudy = _corba_impl->GetStudyByID(theStudy->StudyId()); return _corba_impl->SaveAsASCII((char*)theUrl.c_str(), aStudy, theMultiFile); } @@ -168,21 +169,21 @@ std::vector SALOMEDS_StudyManager::GetOpenStudies() if (_isLocal) { SALOMEDS::Locker lock; - vector aSeq = _local_impl->GetOpenStudies(); + std::vector aSeq = _local_impl->GetOpenStudies(); aLength = aSeq.size(); - for(i = 0; i < aLength; i++) + for(i = 0; i < aLength; i++) aVector.push_back(aSeq[i]->Name()); } else { SALOMEDS::ListOfOpenStudies_var aSeq = _corba_impl->GetOpenStudies(); aLength = aSeq->length(); - for(i = 0; i < aLength; i++) + for(i = 0; i < aLength; i++) aVector.push_back(aSeq[i].in()); } return aVector; } -_PTR(Study) SALOMEDS_StudyManager::GetStudyByName(const std::string& theStudyName) +_PTR(Study) SALOMEDS_StudyManager::GetStudyByName(const std::string& theStudyName) { SALOMEDSClient_Study* aStudy = NULL; if (_isLocal) { @@ -200,7 +201,7 @@ _PTR(Study) SALOMEDS_StudyManager::GetStudyByName(const std::string& theStudyNam return _PTR(Study)(aStudy); } -_PTR(Study) SALOMEDS_StudyManager::GetStudyByID(int theStudyID) +_PTR(Study) SALOMEDS_StudyManager::GetStudyByID(int theStudyID) { SALOMEDSClient_Study* aStudy = NULL; if (_isLocal) { @@ -210,7 +211,7 @@ _PTR(Study) SALOMEDS_StudyManager::GetStudyByID(int theStudyID) if(!aStudy_impl) return _PTR(Study)(aStudy); aStudy = new SALOMEDS_Study(aStudy_impl); } - else { + else { SALOMEDS::Study_var aStudy_impl = _corba_impl->GetStudyByID(theStudyID); if(CORBA::is_nil(aStudy_impl)) return _PTR(Study)(aStudy); aStudy = new SALOMEDS_Study(aStudy_impl); @@ -311,13 +312,13 @@ void SALOMEDS_StudyManager::init_orb() SALOMEDS_Driver_i* GetDriver(const SALOMEDSImpl_SObject& theObject, CORBA::ORB_ptr orb) { SALOMEDS_Driver_i* driver = NULL; - + SALOMEDSImpl_SComponent aSCO = theObject.GetFatherComponent(); if(!aSCO.IsNull()) { - string IOREngine = aSCO.GetIOR(); + std::string IOREngine = aSCO.GetIOR(); if(!IOREngine.empty()) { CORBA::Object_var obj = orb->string_to_object(IOREngine.c_str()); - SALOMEDS::Driver_var Engine = SALOMEDS::Driver::_narrow(obj) ; + Engines::EngineComponent_var Engine = Engines::EngineComponent::_narrow(obj) ; driver = new SALOMEDS_Driver_i(Engine, orb); } }