diff options
Diffstat (limited to 'parameter')
-rw-r--r-- | parameter/ConfigurableDomain.cpp | 8 | ||||
-rw-r--r-- | parameter/ConfigurableDomain.h | 2 | ||||
-rw-r--r-- | parameter/ConfigurableDomains.cpp | 2 | ||||
-rwxr-xr-x | parameter/Element.cpp | 14 | ||||
-rw-r--r-- | parameter/Element.h | 14 |
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; |