[opengtl-commits] [592] Add a few things for the new GTLGlue:

[ Thread Index | Date Index | More lists.tuxfamily.org/opengtl-commits Archives ]


Revision: 592
Author:   cyrille
Date:     2009-03-07 21:12:39 +0100 (Sat, 07 Mar 2009)

Log Message:
-----------
Add a few things for the new GTLGlue:
* NodeFactory(Registry) to create Node with the code outside the GTLGlue library
* Add two interfaces, one for shiva, the other one for CTL
* Add image node to represent input/output images in the graph

Modified Paths:
--------------
    trunk/OpenGTL/CMakeLists.txt
    trunk/OpenGTL/OpenGTL/CMakeLists.txt
    trunk/OpenGTL/OpenGTL/GTLGlue/CMakeLists.txt
    trunk/OpenGTL/OpenGTL/GTLGlue/Node.h

Added Paths:
-----------
    trunk/OpenGTL/OpenGTL/GTLGlue/ImageNode.cpp
    trunk/OpenGTL/OpenGTL/GTLGlue/ImageNode.h
    trunk/OpenGTL/OpenGTL/GTLGlue/Interfaces/
    trunk/OpenGTL/OpenGTL/GTLGlue/Interfaces/CtlNode.h
    trunk/OpenGTL/OpenGTL/GTLGlue/Interfaces/ShivaNode.h
    trunk/OpenGTL/OpenGTL/GTLGlue/Interfaces.cpp
    trunk/OpenGTL/OpenGTL/GTLGlue/NodeFactory.cpp
    trunk/OpenGTL/OpenGTL/GTLGlue/NodeFactory.h
    trunk/OpenGTL/OpenGTL/GTLGlue/NodeFactoryRegistry.cpp
    trunk/OpenGTL/OpenGTL/GTLGlue/NodeFactoryRegistry.h


Modified: trunk/OpenGTL/CMakeLists.txt
===================================================================
--- trunk/OpenGTL/CMakeLists.txt	2009-03-07 20:08:27 UTC (rev 591)
+++ trunk/OpenGTL/CMakeLists.txt	2009-03-07 20:12:39 UTC (rev 592)
@@ -17,6 +17,7 @@
 set(BIN_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/bin/)
 set(SHARE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/share/OpenGTL/)
 set(GTLIMAGEIO_EXTENSIONS_INSTALL_DIR ${SHARE_INSTALL_DIR}/GTLImageIO/Extensions)
+set(GTLGLUE_EXTENSIONS_INSTALL_DIR ${SHARE_INSTALL_DIR}/GTLGlue/Extensions)
 
 set(OPENGTL_TESTS_DATA "" CACHE FILEPATH "Directory that contains the data of the tests.")
 

Modified: trunk/OpenGTL/OpenGTL/CMakeLists.txt
===================================================================
--- trunk/OpenGTL/OpenGTL/CMakeLists.txt	2009-03-07 20:08:27 UTC (rev 591)
+++ trunk/OpenGTL/OpenGTL/CMakeLists.txt	2009-03-07 20:12:39 UTC (rev 592)
@@ -5,5 +5,5 @@
 add_subdirectory(GTLCore)
 add_subdirectory(GTLTest)
 add_subdirectory(GTLImageIO)
-# add_subdirectory(GTLGlue)
+add_subdirectory(GTLGlue)
 add_subdirectory(tools)

Modified: trunk/OpenGTL/OpenGTL/GTLGlue/CMakeLists.txt
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/CMakeLists.txt	2009-03-07 20:08:27 UTC (rev 591)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/CMakeLists.txt	2009-03-07 20:12:39 UTC (rev 592)
@@ -1,4 +1,9 @@
+include_directories( ${LLVM_INCLUDE_DIR} )
+
 set(GTLGlue_SRCS
+    NodeFactoryRegistry.cpp
+    NodeFactory.cpp
+    Interfaces.cpp
     Node.cpp
     Pipeline.cpp
 # Private source files
@@ -6,6 +11,8 @@
 
 include_directories(${CMAKE_SOURCE_DIR}/OpenCTL ${CMAKE_SOURCE_DIR}/OpenShiva)
 
+add_definitions( -D_GTLGLUE_EXTENSIONS_INSTALL_DIR_="${GTLGLUE_EXTENSIONS_INSTALL_DIR}" )
+add_definitions( "-D__STDC_LIMIT_MACROS" )
 add_definitions( -DCOUMPONENT_NAME="GTLGlue" )
 
 # Create GTLGlue library

Added: trunk/OpenGTL/OpenGTL/GTLGlue/ImageNode.cpp
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/ImageNode.cpp	                        (rev 0)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/ImageNode.cpp	2009-03-07 20:12:39 UTC (rev 592)
@@ -0,0 +1,45 @@
+/*
+ *  Copyright (c) 2009 Cyrille Berger <cberger@xxxxxxxxxxx>
+ *
+ * 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, or (at your option) any later version 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; see the file COPYING.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include "ImageNode.h"
+
+using namespace GTLGlue;
+
+struct ImageNode::Private {
+  
+};
+
+ImageNode::ImageNode() : d(new Private)
+{
+}
+
+ImageNode::~ImageNode()
+{
+  delete d;
+}
+
+int ImageNode::countInputs() const
+{
+  return 1;
+}
+
+const Generator* ImageNode::generator() const
+{
+  return 0;
+}


Property changes on: trunk/OpenGTL/OpenGTL/GTLGlue/ImageNode.cpp
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Added: trunk/OpenGTL/OpenGTL/GTLGlue/ImageNode.h
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/ImageNode.h	                        (rev 0)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/ImageNode.h	2009-03-07 20:12:39 UTC (rev 592)
@@ -0,0 +1,45 @@
+/*
+ *  Copyright (c) 2009 Cyrille Berger <cberger@xxxxxxxxxxx>
+ *
+ * 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, or (at your option) any later version 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; see the file COPYING.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _GTLGLUE_IMAGE_NODE_H_
+#define _GTLGLUE_IMAGE_NODE_H_
+
+#include <GTLGlue/Node.h>
+
+namespace GTLGlue {
+  /**
+   * @ingroup GTLGlue
+   *
+   * Represent an image, either as input or as ouptut.
+   */
+  class ImageNode : public Node {
+    public:
+      ImageNode();
+      virtual ~ImageNode();
+      virtual int countInputs() const;
+    protected:
+      virtual const Generator* generator() const;
+    private:
+      struct Private;
+      Private* const d;
+  };
+  
+}
+
+#endif


Property changes on: trunk/OpenGTL/OpenGTL/GTLGlue/ImageNode.h
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Added: trunk/OpenGTL/OpenGTL/GTLGlue/Interfaces/CtlNode.h
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/Interfaces/CtlNode.h	                        (rev 0)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/Interfaces/CtlNode.h	2009-03-07 20:12:39 UTC (rev 592)
@@ -0,0 +1,32 @@
+/*
+ *  Copyright (c) 2009 Cyrille Berger <cberger@xxxxxxxxxxx>
+ *
+ * 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, or (at your option) any later version 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; see the file COPYING.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _GTLGLUE_INTERFACES_CTL_NODE_H_
+#define _GTLGLUE_INTERFACES_CTL_NODE_H_
+
+namespace GTLGlue {
+  namespace Interfaces {
+    class CtlNode {
+      public:
+        virtual ~CtlNode();
+    };
+  }
+}
+
+#endif


Property changes on: trunk/OpenGTL/OpenGTL/GTLGlue/Interfaces/CtlNode.h
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Added: trunk/OpenGTL/OpenGTL/GTLGlue/Interfaces/ShivaNode.h
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/Interfaces/ShivaNode.h	                        (rev 0)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/Interfaces/ShivaNode.h	2009-03-07 20:12:39 UTC (rev 592)
@@ -0,0 +1,32 @@
+/*
+ *  Copyright (c) 2009 Cyrille Berger <cberger@xxxxxxxxxxx>
+ *
+ * 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, or (at your option) any later version 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; see the file COPYING.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _GTLGLUE_INTERFACES_SHIVA_NODE_H_
+#define _GTLGLUE_INTERFACES_SHIVA_NODE_H_
+
+namespace GTLGlue {
+  namespace Interfaces {
+    class ShivaNode {
+      public:
+        virtual ~ShivaNode();
+    };
+  }
+}
+
+#endif


Property changes on: trunk/OpenGTL/OpenGTL/GTLGlue/Interfaces/ShivaNode.h
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Added: trunk/OpenGTL/OpenGTL/GTLGlue/Interfaces.cpp
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/Interfaces.cpp	                        (rev 0)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/Interfaces.cpp	2009-03-07 20:12:39 UTC (rev 592)
@@ -0,0 +1,31 @@
+/*
+ *  Copyright (c) 2009 Cyrille Berger <cberger@xxxxxxxxxxx>
+ *
+ * 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, or (at your option) any later version 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; see the file COPYING.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include "Interfaces/ShivaNode.h"
+#include "Interfaces/CtlNode.h"
+
+using namespace GTLGlue::Interfaces;
+
+ShivaNode::~ShivaNode()
+{
+}
+
+CtlNode::~CtlNode()
+{
+}


Property changes on: trunk/OpenGTL/OpenGTL/GTLGlue/Interfaces.cpp
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Modified: trunk/OpenGTL/OpenGTL/GTLGlue/Node.h
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/Node.h	2009-03-07 20:08:27 UTC (rev 591)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/Node.h	2009-03-07 20:12:39 UTC (rev 592)
@@ -21,11 +21,20 @@
 #define _GTLGLUE_NODE_H_
 
 namespace GTLGlue {
-  
+  class Generator;
+  /**
+   * @ingroup GTLGlue
+   */
   class Node {
     public:
       Node();
       ~Node();
+      virtual int countInputs() const = 0;
+      /**
+       */
+      void connect(int i, Node* );
+    protected:
+      virtual const Generator* generator() const = 0;
     private:
       struct Private;
       Private* const d;

Added: trunk/OpenGTL/OpenGTL/GTLGlue/NodeFactory.cpp
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/NodeFactory.cpp	                        (rev 0)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/NodeFactory.cpp	2009-03-07 20:12:39 UTC (rev 592)
@@ -0,0 +1,48 @@
+/*
+ *  Copyright (c) 2009 Cyrille Berger <cberger@xxxxxxxxxxx>
+ *
+ * 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, or (at your option) any later version 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; see the file COPYING.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include "NodeFactory.h"
+
+using namespace GTLGlue;
+
+struct NodeFactory::Private {
+  GTLCore::String id;
+  GTLCore::String name;
+};
+
+NodeFactory::NodeFactory( const GTLCore::String& id, const GTLCore::String& name ) : d(new Private)
+{
+  d->id = id;
+  d->name = name;
+}
+
+NodeFactory::~NodeFactory()
+{
+  delete d;
+}
+
+const GTLCore::String& NodeFactory::id() const
+{
+  return d->id;
+}
+
+const GTLCore::String& NodeFactory::name() const
+{
+  return d->name;
+}


Property changes on: trunk/OpenGTL/OpenGTL/GTLGlue/NodeFactory.cpp
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Added: trunk/OpenGTL/OpenGTL/GTLGlue/NodeFactory.h
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/NodeFactory.h	                        (rev 0)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/NodeFactory.h	2009-03-07 20:12:39 UTC (rev 592)
@@ -0,0 +1,50 @@
+/*
+ *  Copyright (c) 2009 Cyrille Berger <cberger@xxxxxxxxxxx>
+ *
+ * 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, or (at your option) any later version 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; see the file COPYING.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _GTLGLUE_NODE_FACTORY_H_
+#define _GTLGLUE_NODE_FACTORY_H_
+
+#include <GTLCore/String.h>
+
+namespace GTLGlue {
+  class Node;
+  /**
+   * @ingroup GTLGlue
+   *
+   * This class allow to create \ref Node .
+   */
+  class NodeFactory {
+    public:
+      NodeFactory( const GTLCore::String& id, const GTLCore::String& name );
+      virtual ~NodeFactory();
+    public:
+      /**
+       * Create an instance of a specific \ref Node .
+       */
+      virtual Node* createNode() const = 0;
+    public:
+      const GTLCore::String& id() const;
+      const GTLCore::String& name() const;
+    private:
+      struct Private;
+      Private* const d;
+  };
+}
+
+#endif


Property changes on: trunk/OpenGTL/OpenGTL/GTLGlue/NodeFactory.h
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Added: trunk/OpenGTL/OpenGTL/GTLGlue/NodeFactoryRegistry.cpp
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/NodeFactoryRegistry.cpp	                        (rev 0)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/NodeFactoryRegistry.cpp	2009-03-07 20:12:39 UTC (rev 592)
@@ -0,0 +1,88 @@
+/*
+ *  Copyright (c) 2009 Cyrille Berger <cberger@xxxxxxxxxxx>
+ *
+ * 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, or (at your option) any later version 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; see the file COPYING.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include "NodeFactoryRegistry.h"
+
+using namespace GTLGlue;
+
+#include <map>
+
+#include <llvm/System/Path.h>
+#include <llvm/System/DynamicLibrary.h>
+
+
+#include "GTLCore/Debug.h"
+#include "NodeFactory.h"
+
+struct NodeFactoryRegistry::Private {
+  std::map<GTLCore::String, NodeFactory*> factories;
+  static NodeFactoryRegistry* s_instance;
+};
+
+NodeFactoryRegistry* NodeFactoryRegistry::Private::s_instance = 0;
+
+NodeFactoryRegistry::NodeFactoryRegistry() : d(new Private)
+{
+}
+
+NodeFactoryRegistry::~NodeFactoryRegistry()
+{
+  delete d;
+}
+
+void NodeFactoryRegistry::initialise()
+{
+  llvm::sys::Path extensionPath(_GTLGLUE_EXTENSIONS_INSTALL_DIR_);
+  std::set<llvm::sys::Path> paths;
+  GTLCore::String errMsg;
+  GTL_DEBUG("Loading extensions from " << _GTLGLUE_EXTENSIONS_INSTALL_DIR_ );
+  if( extensionPath.getDirectoryContents( paths, &errMsg))
+  {
+    GTL_DEBUG("Can't find exensions: " << errMsg );
+  } else {
+    for( std::set<llvm::sys::Path>::iterator it = paths.begin();
+         it != paths.end(); ++it)
+    {
+      GTL_DEBUG("Loading: " << it->toString() );
+      if( llvm::sys::DynamicLibrary::LoadLibraryPermanently( it->toString().c_str(), &errMsg ) )
+      {
+        GTL_ERROR("Can't load " << it->toString() << " : " << errMsg );
+      }
+    }
+  }
+}
+
+NodeFactoryRegistry* NodeFactoryRegistry::instance()
+{
+  if( not Private::s_instance )
+  {
+    Private::s_instance = new NodeFactoryRegistry;
+  }
+  return Private::s_instance;
+}
+
+void NodeFactoryRegistry::registerFactory( NodeFactory* nodeFactory)
+{
+  d->factories[ nodeFactory->id() ] = nodeFactory;
+}
+
+const NodeFactory* NodeFactoryRegistry::factory(const GTLCore::String& id)
+{
+  return d->factories[id];
+}


Property changes on: trunk/OpenGTL/OpenGTL/GTLGlue/NodeFactoryRegistry.cpp
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Added: trunk/OpenGTL/OpenGTL/GTLGlue/NodeFactoryRegistry.h
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLGlue/NodeFactoryRegistry.h	                        (rev 0)
+++ trunk/OpenGTL/OpenGTL/GTLGlue/NodeFactoryRegistry.h	2009-03-07 20:12:39 UTC (rev 592)
@@ -0,0 +1,46 @@
+/*
+ *  Copyright (c) 2009 Cyrille Berger <cberger@xxxxxxxxxxx>
+ *
+ * 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, or (at your option) any later version 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; see the file COPYING.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _GTLGLUE_NODE_FACTORY_REGISTRY_H_
+#define _GTLGLUE_NODE_FACTORY_REGISTRY_H_
+
+#include <GTLCore/String.h>
+
+namespace GTLGlue {
+  class NodeFactory;
+  /**
+   * @ingroup GTLGlue
+   *
+   * List of factories.
+   */
+  class NodeFactoryRegistry {
+      NodeFactoryRegistry();
+      ~NodeFactoryRegistry();
+      void initialise();
+    public:
+      static NodeFactoryRegistry* instance();
+      void registerFactory( NodeFactory* );
+      const NodeFactory* factory(const GTLCore::String& id);
+    private:
+      struct Private;
+      Private* const d;
+  };
+}
+
+#endif


Property changes on: trunk/OpenGTL/OpenGTL/GTLGlue/NodeFactoryRegistry.h
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/