summaryrefslogtreecommitdiff
path: root/configmgr/source/treemgr/nodefactory.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'configmgr/source/treemgr/nodefactory.cxx')
-rw-r--r--configmgr/source/treemgr/nodefactory.cxx88
1 files changed, 18 insertions, 70 deletions
diff --git a/configmgr/source/treemgr/nodefactory.cxx b/configmgr/source/treemgr/nodefactory.cxx
index 47d9661633..3c9deb28ff 100644
--- a/configmgr/source/treemgr/nodefactory.cxx
+++ b/configmgr/source/treemgr/nodefactory.cxx
@@ -33,9 +33,6 @@
#include <stdio.h>
#include "nodefactory.hxx"
#include "nodeimplobj.hxx"
-#include "valuenodeaccess.hxx"
-#include "groupnodeaccess.hxx"
-#include "setnodeaccess.hxx"
#include "configpath.hxx"
#include <osl/diagnose.h>
@@ -50,107 +47,58 @@ namespace view
namespace
{
//---------------------------------------------------------------------
- using configuration::NodeImpl;
- using configuration::Template;
- using data::ValueNodeAccess;
- using data::GroupNodeAccess;
- using data::SetNodeAccess;
-//---------------------------------------------------------------------
-/* static bool isTreeSet(SetNodeAccess const& _aNodeAccess, Template* pTemplate)
- {
- OSL_ENSURE(pTemplate,"ERROR: Trying to instantiate a set without a template");
- if (!pTemplate) throw Exception("ERROR: Trying to instantiate a set without a template");
-
- OSL_ENSURE(pTemplate->getName().toString() == _aNodeAccess.getElementTemplateName(),
- "WARNING: Template name mismatch creating a set node");
-
- return ! pTemplate->isInstanceValue();
- }
-*/
-//---------------------------------------------------------------------
struct BasicNodeFactory : NodeFactory
{
- rtl::Reference<NodeImpl> makeValueNode(ValueNodeAccess const& _aNodeAccess);
- rtl::Reference<NodeImpl> makeGroupNode(GroupNodeAccess const& _aNodeAccess);
- rtl::Reference<NodeImpl> makeSetNode (SetNodeAccess const& _aNodeAccess, Template* pTemplate);
+ rtl::Reference<configuration::NodeImpl> makeValueNode(sharable::ValueNode * node);
+ rtl::Reference<configuration::NodeImpl> makeGroupNode(sharable::GroupNode * node);
+ rtl::Reference<configuration::NodeImpl> makeSetNode(sharable::SetNode * node, configuration::Template* pTemplate);
};
//-------------------------------------------------------------------------
- rtl::Reference<NodeImpl> BasicNodeFactory::makeValueNode(ValueNodeAccess const& _aNodeAccess)
- {
- return new configuration::ValueElementNodeImpl(_aNodeAccess);
- }
- //-------------------------------------------------------------------------
-
- rtl::Reference<NodeImpl> BasicNodeFactory::makeGroupNode(GroupNodeAccess const& _aNodeAccess)
- {
- return new configuration::GroupNodeImpl(_aNodeAccess);
- }
- //-------------------------------------------------------------------------
-
- rtl::Reference<NodeImpl> BasicNodeFactory::makeSetNode (SetNodeAccess const& _aNodeAccess, Template* pTemplate)
+ rtl::Reference<configuration::NodeImpl> BasicNodeFactory::makeValueNode(sharable::ValueNode * node)
{
- return new configuration::SetNodeImpl(_aNodeAccess,pTemplate);
+ return new configuration::ValueElementNodeImpl(node);
}
//-------------------------------------------------------------------------
-//-----------------------------------------------------------------------------
-/*
- struct DirectNodeFactory : NodeFactory
+ rtl::Reference<configuration::NodeImpl> BasicNodeFactory::makeGroupNode(sharable::GroupNode * node)
{
- rtl::Reference<NodeImpl> makeValueNode(ValueNodeAccess const& _aNodeAccess);
- rtl::Reference<NodeImpl> makeGroupNode(GroupNodeAccess const& _aNodeAccess);
- rtl::Reference<NodeImpl> makeSetNode (SetNodeAccess const& _aNodeAccess, Template* pTemplate);
- };
- //-------------------------------------------------------------------------
-
- rtl::Reference<NodeImpl> DirectNodeFactory::makeValueNode(ValueNodeAccess const& _aNodeAccess)
- {
- return new DirectValueElementNodeImpl(_aNodeAccess);
+ return new configuration::GroupNodeImpl(node);
}
//-------------------------------------------------------------------------
- rtl::Reference<NodeImpl> DirectNodeFactory::makeGroupNode(GroupNodeAccess const& _aNodeAccess)
+ rtl::Reference<configuration::NodeImpl> BasicNodeFactory::makeSetNode(sharable::SetNode * node, configuration::Template* pTemplate)
{
- return new DirectGroupNodeImpl(_aNodeAccess);
+ return new configuration::SetNodeImpl(node, pTemplate);
}
//-------------------------------------------------------------------------
- rtl::Reference<NodeImpl> DirectNodeFactory::makeSetNode (SetNodeAccess const& _aNodeAccess, Template* pTemplate)
- {
- if (isTreeSet(_aNodeAccess,pTemplate))
- return new DirectTreeSetNodeImpl(_aNodeAccess,pTemplate);
- else
- return new DirectValueSetNodeImpl(_aNodeAccess,pTemplate);
- }
- //-------------------------------------------------------------------------
-*/
//-----------------------------------------------------------------------------
struct DeferredNodeFactory : NodeFactory
{
- rtl::Reference<NodeImpl> makeValueNode(ValueNodeAccess const& _aNodeAccess);
- rtl::Reference<NodeImpl> makeGroupNode(GroupNodeAccess const& _aNodeAccess);
- rtl::Reference<NodeImpl> makeSetNode (SetNodeAccess const& _aNodeAccess, Template* pTemplate);
+ rtl::Reference<configuration::NodeImpl> makeValueNode(sharable::ValueNode * node);
+ rtl::Reference<configuration::NodeImpl> makeGroupNode(sharable::GroupNode * node);
+ rtl::Reference<configuration::NodeImpl> makeSetNode(sharable::SetNode * node, configuration::Template* pTemplate);
};
//-------------------------------------------------------------------------
- rtl::Reference<NodeImpl> DeferredNodeFactory::makeValueNode(ValueNodeAccess const& _aNodeAccess)
+ rtl::Reference<configuration::NodeImpl> DeferredNodeFactory::makeValueNode(sharable::ValueNode * node)
{
// OSL_ENSURE(false, "Wrong factory for value elements - should be immutable (=read-only)");
- return new configuration::ValueElementNodeImpl(_aNodeAccess);
+ return new configuration::ValueElementNodeImpl(node);
}
//-------------------------------------------------------------------------
- rtl::Reference<NodeImpl> DeferredNodeFactory::makeGroupNode(GroupNodeAccess const& _aNodeAccess)
+ rtl::Reference<configuration::NodeImpl> DeferredNodeFactory::makeGroupNode(sharable::GroupNode * node)
{
- return new configuration::DeferredGroupNodeImpl(_aNodeAccess);
+ return new configuration::DeferredGroupNodeImpl(node);
}
//-------------------------------------------------------------------------
- rtl::Reference<NodeImpl> DeferredNodeFactory::makeSetNode (SetNodeAccess const& _aNodeAccess, Template* pTemplate)
+ rtl::Reference<configuration::NodeImpl> DeferredNodeFactory::makeSetNode(sharable::SetNode * node, configuration::Template* pTemplate)
{
- return new configuration::DeferredSetNodeImpl(_aNodeAccess,pTemplate);
+ return new configuration::DeferredSetNodeImpl(node, pTemplate);
}
//-------------------------------------------------------------------------