summaryrefslogtreecommitdiffstats
path: root/parameter
diff options
context:
space:
mode:
Diffstat (limited to 'parameter')
-rw-r--r--parameter/ConfigurableDomain.cpp8
-rw-r--r--parameter/ConfigurableDomain.h2
-rw-r--r--parameter/ConfigurableDomains.cpp2
-rwxr-xr-xparameter/Element.cpp14
-rw-r--r--parameter/Element.h14
5 files changed, 32 insertions, 8 deletions
diff --git a/parameter/ConfigurableDomain.cpp b/parameter/ConfigurableDomain.cpp
index 61a8d5b..f81baec 100644
--- a/parameter/ConfigurableDomain.cpp
+++ b/parameter/ConfigurableDomain.cpp
@@ -111,9 +111,15 @@ bool CConfigurableDomain::getSequenceAwareness() const
// From IXmlSource
void CConfigurableDomain::toXml(CXmlElement& xmlElement, CXmlSerializingContext& serializingContext) const
{
+ base::toXml(xmlElement, serializingContext);
+
// Sequence awareness
xmlElement.setAttributeBoolean("SequenceAware", _bSequenceAware);
+}
+void CConfigurableDomain::childrenToXml(CXmlElement& xmlElement,
+ CXmlSerializingContext& serializingContext) const
+{
// Configurations
composeDomainConfigurations(xmlElement, serializingContext);
@@ -133,7 +139,7 @@ void CConfigurableDomain::composeDomainConfigurations(CXmlElement& xmlElement, C
xmlElement.createChild(xmlConfigurationsElement, "Configurations");
// Delegate to base
- base::toXml(xmlConfigurationsElement, serializingContext);
+ base::childrenToXml(xmlConfigurationsElement, serializingContext);
}
void CConfigurableDomain::composeConfigurableElements(CXmlElement& xmlElement) const
diff --git a/parameter/ConfigurableDomain.h b/parameter/ConfigurableDomain.h
index e91a5cb..a7cbf73 100644
--- a/parameter/ConfigurableDomain.h
+++ b/parameter/ConfigurableDomain.h
@@ -103,6 +103,8 @@ public:
// From IXmlSource
virtual void toXml(CXmlElement& xmlElement, CXmlSerializingContext& serializingContext) const;
+ virtual void childrenToXml(CXmlElement& xmlElement,
+ CXmlSerializingContext& serializingContext) const;
// Class kind
virtual std::string getKind() const;
diff --git a/parameter/ConfigurableDomains.cpp b/parameter/ConfigurableDomains.cpp
index f11a155..dd7ede3 100644
--- a/parameter/ConfigurableDomains.cpp
+++ b/parameter/ConfigurableDomains.cpp
@@ -104,7 +104,7 @@ void CConfigurableDomains::toXml(CXmlElement& xmlElement, CXmlSerializingContext
// Set attribute
xmlElement.setAttributeString("SystemClassName", getName());
- base::toXml(xmlElement, serializingContext);
+ base::childrenToXml(xmlElement, serializingContext);
}
// Configuration/Domains handling
diff --git a/parameter/Element.cpp b/parameter/Element.cpp
index 2c8393d..4ccf149 100755
--- a/parameter/Element.cpp
+++ b/parameter/Element.cpp
@@ -292,8 +292,8 @@ bool CElement::fromXml(const CXmlElement& xmlElement, CXmlSerializingContext& se
return true;
}
-// From IXmlSource
-void CElement::toXml(CXmlElement& xmlElement, CXmlSerializingContext& serializingContext) const
+void CElement::childrenToXml(CXmlElement& xmlElement,
+ CXmlSerializingContext& serializingContext) const
{
// Browse children and propagate
uint32_t uiNbChildren = getNbChildren();
@@ -308,15 +308,17 @@ void CElement::toXml(CXmlElement& xmlElement, CXmlSerializingContext& serializin
xmlElement.createChild(xmlChildElement, pChild->getKind());
- // Set attributes
- pChild->setXmlNameAttribute(xmlChildElement);
-
-
// Propagate
pChild->toXml(xmlChildElement, serializingContext);
}
}
+void CElement::toXml(CXmlElement& xmlElement, CXmlSerializingContext& serializingContext) const
+{
+ setXmlNameAttribute(xmlElement);
+ childrenToXml(xmlElement, serializingContext);
+}
+
void CElement::setXmlNameAttribute(CXmlElement& xmlElement) const
{
// By default, set Name attribute if any
diff --git a/parameter/Element.h b/parameter/Element.h
index 8469ab6..4636dbd 100644
--- a/parameter/Element.h
+++ b/parameter/Element.h
@@ -94,6 +94,20 @@ public:
// From IXmlSource
virtual void toXml(CXmlElement& xmlElement, CXmlSerializingContext& serializingContext) const;
+ /**
+ * Serialize the children to XML
+ *
+ * This method is virtual, to be derived in case a special treatment is
+ * needed before doing so.
+ *
+ * @param[in,out] xmlElement the XML Element below which the children must
+ * be serialized (which may or may not be the CElement
+ * object upon which this method is called)
+ * @param[in,out] serializingContext information about the serialization
+ */
+ virtual void childrenToXml(CXmlElement& xmlElement,
+ CXmlSerializingContext& serializingContext) const;
+
// Content structure dump
void dumpContent(std::string& strContent, CErrorContext& errorContext, const uint32_t uiDepth = 0) const;