From f1635c87c575b156990d05a46911079f4d0329bf Mon Sep 17 00:00:00 2001
From: Florent Lamiraux <florent@laas.fr>
Date: Mon, 20 Jun 2011 17:11:22 +0200
Subject: [PATCH] FactoryStorage and PoolStorage are now singletons.

    global variables g_pool and g_factory have been replaced by
    PoolStorage::getInstance and FactoryStorage::getInstance static methods.
---
 src/dynamic_graph/__init__.py | 1 -
 src/entity-py.cc              | 7 ++++---
 src/factory-py.cc             | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/dynamic_graph/__init__.py b/src/dynamic_graph/__init__.py
index c84a544..b573be8 100644
--- a/src/dynamic_graph/__init__.py
+++ b/src/dynamic_graph/__init__.py
@@ -13,7 +13,6 @@ from wrap import *
 sys.setdlopenflags(flags)
 
 import entity, signal_base
-import re
 
 def plug (signalOut, signalIn) :
     """
diff --git a/src/entity-py.cc b/src/entity-py.cc
index 0744a3e..332fa4d 100644
--- a/src/entity-py.cc
+++ b/src/entity-py.cc
@@ -52,7 +52,8 @@ namespace dynamicgraph {
 
 	Entity* obj = NULL;
 	/* Try to find if the corresponding object already exists. */
-	if( dynamicgraph::g_pool.existEntity( instanceName,obj ) )
+	if( dynamicgraph::PoolStorage::getInstance()->existEntity(instanceName,
+								  obj))
 	  {
 	    if( obj->getClassName()!=className ) {
 	      std::string msg ("Found an object named "
@@ -68,8 +69,8 @@ namespace dynamicgraph {
 	else /* If not, create a new object. */
 	  {
 	    try {
-	      obj = dynamicgraph::g_factory.newEntity(std::string(className),
-						      std::string(instanceName));
+	      obj = dynamicgraph::FactoryStorage::getInstance()->newEntity
+		(std::string(className), std::string(instanceName));
 	    } catch (std::exception& exc) {
 	      PyErr_SetString(dgpyError, exc.what());
 	      return NULL;
diff --git a/src/factory-py.cc b/src/factory-py.cc
index a821440..65b8463 100644
--- a/src/factory-py.cc
+++ b/src/factory-py.cc
@@ -34,7 +34,7 @@ namespace dynamicgraph {
 	  return NULL;
 
 	std::vector <std::string> classNames;
-	dynamicgraph::g_factory.listEntities(classNames);
+	dynamicgraph::FactoryStorage::getInstance()->listEntities(classNames);
 	unsigned int classNumber = classNames.size();
 	// Build a tuple object
 	PyObject* classTuple = PyTuple_New(classNumber);
-- 
GitLab