X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FTestContainer%2FTestContainer.cxx;h=2f86fd9420edce0a2038e4d7ec2eb7d11e060371;hb=a63265d524e8436588a7bb82147a69812c153b1b;hp=b5604d9d1fe38b4a000ce7247cd95834030b557b;hpb=836c34a4e2dd99f1f302a2c3ae93a51cd182368f;p=modules%2Fkernel.git diff --git a/src/TestContainer/TestContainer.cxx b/src/TestContainer/TestContainer.cxx index b5604d9d1..2f86fd942 100644 --- a/src/TestContainer/TestContainer.cxx +++ b/src/TestContainer/TestContainer.cxx @@ -1,48 +1,49 @@ -// SALOME TestContainer : test of container creation and its life cycle +// Copyright (C) 2007-2014 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, or (at your option) any later version. // -// Copyright (C) 2003 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 -// 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 -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// 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 +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + +// SALOME TestContainer : test of container creation and its life cycle // File : TestContainer.cxx // Author : Paul RASCLE, EDF - MARC TAJCHMAN, CEA // Module : SALOME // $Header$ - +// #include "utilities.h" #include +#ifndef WIN32 #include +#endif #include #include CORBA_CLIENT_HEADER(SALOME_Component) #include CORBA_CLIENT_HEADER(SALOME_TestComponent) #include "SALOME_NamingService.hxx" #include "NamingService_WaitForServerReadiness.hxx" -#include "OpUtil.hxx" +#include "Basics_Utils.hxx" #include "Utils_ORB_INIT.hxx" #include "Utils_SINGLETON.hxx" #include "Utils_SALOME_Exception.hxx" #include "Utils_CommException.hxx" -using namespace std; -static ostream& operator<<(ostream& os, const CORBA::Exception& e) +static std::ostream& operator<<(std::ostream& os, const CORBA::Exception& e) { CORBA::Any tmp; tmp<<= e; @@ -60,16 +61,18 @@ static ostream& operator<<(ostream& os, const CORBA::Exception& e) } Engines::TestComponent_ptr create_instance(Engines::Container_ptr iGenFact, - string componenttName) + std::string componenttName) { + char* reason; +#if defined(_DEBUG_) || defined(_DEBUG) bool isLib = - iGenFact->load_component_Library(componenttName.c_str()); - // iGenFact->load_component_Library("SalomeTestComponent"); + iGenFact->load_component_Library(componenttName.c_str(),reason); ASSERT(isLib); - CORBA::Object_var obj = - // iGenFact->create_component_instance("SalomeTestComponent", - iGenFact->create_component_instance(componenttName.c_str(), - 0); +#else + iGenFact->load_component_Library(componenttName.c_str(),reason); +#endif + CORBA::string_free(reason); + CORBA::Object_var obj = iGenFact->create_component_instance(componenttName.c_str(), 0); Engines::TestComponent_var anInstance = Engines::TestComponent::_narrow(obj); MESSAGE("create anInstance"); SCRUTE(anInstance->instanceName()); @@ -86,8 +89,8 @@ int main (int argc, char * argv[]) try { SALOME_NamingService _NS(orb) ; - string containerName = "/Containers/" ; - string hostName = GetHostname(); + std::string containerName = "/Containers/" ; + std::string hostName = Kernel_Utils::GetHostname(); containerName += hostName + "/FactoryServer"; NamingService_WaitForServerReadiness(&_NS,containerName); @@ -97,84 +100,84 @@ int main (int argc, char * argv[]) int nbInstances = 5; - vector instances(nbInstances); + std::vector instances(nbInstances); MESSAGE("------------------------------- create instances "); for (int iter = 0; iter < nbInstances ; iter++) - { - instances[iter] = create_instance(iGenFact,"SalomeTestComponent"); - } + { + instances[iter] = create_instance(iGenFact,"SalomeTestComponent"); + } MESSAGE("------------------------------ set env instances "); for (int iter = 0; iter < nbInstances ; iter++) - { - Engines::TestComponent_var anInstance = instances[iter]; - SCRUTE(anInstance->instanceName()); - Engines::FieldsDict_var dico = new Engines::FieldsDict; - dico->length(3); - dico[0].key=CORBA::string_dup("key_0"); - dico[0].value <<="value_0"; - dico[1].key=CORBA::string_dup("key_1"); - dico[1].value <<=(CORBA::UShort)72; - dico[2].key=CORBA::string_dup("key_2"); - dico[2].value <<=(CORBA::ULong)iter; - anInstance->setProperties(dico); - MESSAGE("Coucou " << anInstance->Coucou(iter)); - anInstance->Setenv(); - } + { + Engines::TestComponent_var anInstance = instances[iter]; + SCRUTE(anInstance->instanceName()); + Engines::FieldsDict_var dico = new Engines::FieldsDict; + dico->length(3); + dico[0].key=CORBA::string_dup("key_0"); + dico[0].value <<="value_0"; + dico[1].key=CORBA::string_dup("key_1"); + dico[1].value <<=(CORBA::UShort)72; + dico[2].key=CORBA::string_dup("key_2"); + dico[2].value <<=(CORBA::ULong)iter; + anInstance->setProperties(dico); + MESSAGE("Coucou " << anInstance->Coucou(iter)); + anInstance->Setenv(); + } MESSAGE("---------------------------------- get instances "); for (int iter = 0; iter < nbInstances ; iter++) - { - Engines::TestComponent_var anInstance = instances[iter]; - SCRUTE(anInstance->instanceName()); - Engines::FieldsDict_var dico2 = anInstance->getProperties(); - for (CORBA::ULong i=0; ilength(); i++) - { - MESSAGE("dico2["<instanceName()); - iGenFact->remove_impl(anInstance) ; - //iGenFact->finalize_removal() ; // unpredictable results ... - } + { + Engines::TestComponent_var anInstance = instances[iter]; + SCRUTE(anInstance->instanceName()); + iGenFact->remove_impl(anInstance) ; + //iGenFact->finalize_removal() ; // unpredictable results ... + } MESSAGE("------------------------------- PYTHON "); { -// bool isLib = -// iGenFact->load_component_Library("SALOME_TestComponentPy"); -// ASSERT(isLib); -// CORBA::Object_var obj = -// iGenFact->create_component_instance("SALOME_TestComponentPy", -// 0); -// Engines::TestComponent_var anInstance = -// Engines::TestComponent::_narrow(obj); -// MESSAGE("create anInstance"); -// SCRUTE(anInstance->instanceName()); +// bool isLib = +// iGenFact->load_component_Library("SALOME_TestComponentPy"); +// ASSERT(isLib); +// CORBA::Object_var obj = +// iGenFact->create_component_instance("SALOME_TestComponentPy", +// 0); +// Engines::TestComponent_var anInstance = +// Engines::TestComponent::_narrow(obj); +// MESSAGE("create anInstance"); +// SCRUTE(anInstance->instanceName()); MESSAGE("------------------------------- create instances "); for (int iter = 0; iter < nbInstances ; iter++) - { - instances[iter] = create_instance(iGenFact,"SALOME_TestComponentPy"); - } + { + instances[iter] = create_instance(iGenFact,"SALOME_TestComponentPy"); + } MESSAGE("---------------------------------- get instances "); for (int iter = 0; iter < nbInstances ; iter++) - { - Engines::TestComponent_var anInstance = instances[iter]; - SCRUTE(anInstance->instanceName()); - MESSAGE("Coucou " << anInstance->Coucou(iter)); - } + { + Engines::TestComponent_var anInstance = instances[iter]; + SCRUTE(anInstance->instanceName()); + MESSAGE("Coucou " << anInstance->Coucou(iter)); + } } // Clean-up. @@ -190,6 +193,9 @@ int main (int argc, char * argv[]) catch(CORBA::Exception& e) { INFOS("Caught CORBA::Exception."<