From c16c43cff2bb5738b576cefab1d9c759a799dd97 Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Wed, 19 Oct 2011 07:08:31 +0000
Subject: [PATCH] onelab

---
 Common/CommandLine.cpp |  3 ++-
 Common/GmshMessage.cpp | 13 ++++++-------
 Common/GmshMessage.h   |  2 +-
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/Common/CommandLine.cpp b/Common/CommandLine.cpp
index 51d9e37198..3aff73e413 100644
--- a/Common/CommandLine.cpp
+++ b/Common/CommandLine.cpp
@@ -141,12 +141,13 @@ void GetOptions(int argc, char *argv[])
       else if(!strcmp(argv[i] + 1, "onelab")) {
         i++;        
         if(argv[i])
-           Msg::InitializeOnelab(argv[i++]);
+          Msg::InitializeOnelab("GmshOnelab", argv[i++]);
         else
           Msg::Fatal("Missing string");
         CTX::instance()->batch = -4;
       }
       else if(!strcmp(argv[i] + 1, "socket")) {
+        // FIXME: this will create the "GmshRemote" onelab client in the future
         i++;        
         if(argv[i])
           Msg::InitClient(argv[i++]);
diff --git a/Common/GmshMessage.cpp b/Common/GmshMessage.cpp
index da91206820..5988a5894c 100644
--- a/Common/GmshMessage.cpp
+++ b/Common/GmshMessage.cpp
@@ -91,7 +91,7 @@ void Msg::Init(int argc, char **argv)
     if(i) _commandLine += " ";
     _commandLine += argv[i];
   }
-  InitializeOnelab();
+  InitializeOnelab("Gmsh");
 }
 
 void Msg::Exit(int level)
@@ -597,14 +597,13 @@ void Msg::FinalizeClient()
   _client = 0;
 }
 
-void Msg::InitializeOnelab(const std::string &sockname)
+void Msg::InitializeOnelab(const std::string &name, const std::string &sockname)
 {
-  // Gmsh could also be used as a distant CAD/post-pro client... 
+  if(_onelabClient) delete _onelabClient;
   if (sockname.empty())
-    _onelabClient = new onelab::localClient("Gmsh");
-  else {
-    _onelabClient = new onelab::remoteNetworkClient("GmshRemote",sockname);
-  }
+    _onelabClient = new onelab::localClient(name);
+  else
+    _onelabClient = new onelab::remoteNetworkClient(name, sockname);
 }
 
 void Msg::ExchangeOnelabParameter(const std::string &key,
diff --git a/Common/GmshMessage.h b/Common/GmshMessage.h
index 5631dc7ef4..868496348b 100644
--- a/Common/GmshMessage.h
+++ b/Common/GmshMessage.h
@@ -84,7 +84,7 @@ class Msg {
   static void InitClient(std::string sockname);
   static GmshClient *GetClient(){ return _client; }
   static void FinalizeClient();
-  static void InitializeOnelab(const std::string &sockname="");
+  static void InitializeOnelab(const std::string &name, const std::string &sockname="");
   static void FinalizeOnelab();
   static bool UseOnelab(){ return _onelabClient ? true : false; }
   static void ExchangeOnelabParameter(const std::string &key, 
-- 
GitLab