[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