[Libreoffice-commits] core.git: configmgr/source

Norbert Thiebaud nthiebaud at gmail.com
Wed Jan 22 20:49:20 PST 2014


 configmgr/source/childaccess.cxx |  219 ++++++++++++++++++++++++---------------
 configmgr/source/childaccess.hxx |   16 +-
 2 files changed, 146 insertions(+), 89 deletions(-)

New commits:
commit 753eeac8a641d70ad0c44bb15fa8949ac991f5d9
Author: Norbert Thiebaud <nthiebaud at gmail.com>
Date:   Wed Jan 22 22:37:35 2014 -0600

    coverity#704575 et al.  and clean-up.
    
    Change-Id: I24b38b63d26bc2d4e1d479754120dfd5b5635737

diff --git a/configmgr/source/childaccess.cxx b/configmgr/source/childaccess.cxx
index 9e80d1b..f4481c7 100644
--- a/configmgr/source/childaccess.cxx
+++ b/configmgr/source/childaccess.cxx
@@ -75,78 +75,91 @@ ChildAccess::ChildAccess(
     Components & components, rtl::Reference< RootAccess > const & root,
     rtl::Reference< Access > const & parent, OUString const & name,
     rtl::Reference< Node > const & node):
-    Access(components), root_(root), parent_(parent), name_(name), node_(node),
-    inTransaction_(false)
+    Access(components), m_rRoot(root), m_rParent(parent), m_sName(name), m_rNode(node),
+    m_bInTransaction(false)
 {
-    lock_ = lock();
+    m_pLock = lock();
     assert(root.is() && parent.is() && node.is());
 }
 
 ChildAccess::ChildAccess(
     Components & components, rtl::Reference< RootAccess > const & root,
     rtl::Reference< Node > const & node):
-    Access(components), root_(root), node_(node), inTransaction_(false)
+    Access(components), m_rRoot(root), m_rNode(node), m_bInTransaction(false)
 {
-    lock_ = lock();
+    m_pLock = lock();
     assert(root.is() && node.is());
 }
 
-Path ChildAccess::getAbsolutePath() {
+Path ChildAccess::getAbsolutePath()
+{
     assert(getParentAccess().is());
     Path path(getParentAccess()->getAbsolutePath());
-    path.push_back(name_);
+    path.push_back(m_sName);
     return path;
 }
 
-Path ChildAccess::getRelativePath() {
+Path ChildAccess::getRelativePath()
+{
     Path path;
     rtl::Reference< Access > parent(getParentAccess());
-    if (parent.is()) {
+    if (parent.is())
+    {
         path = parent->getRelativePath();
     }
-    path.push_back(name_);
+    path.push_back(m_sName);
     return path;
 }
 
-OUString ChildAccess::getRelativePathRepresentation() {
+OUString ChildAccess::getRelativePathRepresentation()
+{
     OUStringBuffer path;
     rtl::Reference< Access > parent(getParentAccess());
-    if (parent.is()) {
+    if (parent.is())
+    {
         path.append(parent->getRelativePathRepresentation());
-        if (!path.isEmpty()) {
+        if (!path.isEmpty())
+        {
             path.append('/');
         }
     }
-    path.append(Data::createSegment(node_->getTemplateName(), name_));
+    path.append(Data::createSegment(m_rNode->getTemplateName(), m_sName));
     return path.makeStringAndClear();
 }
 
-rtl::Reference< Node > ChildAccess::getNode() {
-    return node_;
+rtl::Reference< Node > ChildAccess::getNode()
+{
+    return m_rNode;
 }
 
-bool ChildAccess::isFinalized() {
-    return node_->getFinalized() != Data::NO_LAYER ||
-        (parent_.is() && parent_->isFinalized());
+bool ChildAccess::isFinalized()
+{
+    return m_rNode->getFinalized() != Data::NO_LAYER ||
+        (m_rParent.is() && m_rParent->isFinalized());
 }
 
-OUString ChildAccess::getNameInternal() {
-    return name_;
+OUString ChildAccess::getNameInternal()
+{
+    return m_sName;
 }
 
-rtl::Reference< RootAccess > ChildAccess::getRootAccess() {
-    return root_;
+rtl::Reference< RootAccess > ChildAccess::getRootAccess()
+{
+    return m_rRoot;
 }
 
-rtl::Reference< Access > ChildAccess::getParentAccess() {
-    return parent_;
+rtl::Reference< Access > ChildAccess::getParentAccess()
+{
+    return m_rParent;
 }
 
-void ChildAccess::acquire() throw () {
+void ChildAccess::acquire() throw ()
+{
     Access::acquire();
 }
 
-void ChildAccess::release() throw () {
+void ChildAccess::release() throw ()
+{
     Access::release();
 }
 
@@ -154,16 +167,16 @@ css::uno::Reference< css::uno::XInterface > ChildAccess::getParent()
     throw (css::uno::RuntimeException)
 {
     assert(thisIs(IS_ANY));
-    osl::MutexGuard g(*lock_);
+    osl::MutexGuard g(*m_pLock);
     checkLocalizedPropertyAccess();
-    return static_cast< cppu::OWeakObject * >(parent_.get());
+    return static_cast< cppu::OWeakObject * >(m_rParent.get());
 }
 
 void ChildAccess::setParent(css::uno::Reference< css::uno::XInterface > const &)
     throw (css::lang::NoSupportException, css::uno::RuntimeException)
 {
     assert(thisIs(IS_ANY));
-    osl::MutexGuard g(*lock_);
+    osl::MutexGuard g(*m_pLock);
     checkLocalizedPropertyAccess();
     throw css::lang::NoSupportException(
         "setParent", static_cast< cppu::OWeakObject * >(this));
@@ -174,7 +187,7 @@ sal_Int64 ChildAccess::getSomething(
     throw (css::uno::RuntimeException)
 {
     assert(thisIs(IS_ANY));
-    osl::MutexGuard g(*lock_);
+    osl::MutexGuard g(*m_pLock);
     checkLocalizedPropertyAccess();
     return aIdentifier == getTunnelId()
         ? reinterpret_cast< sal_Int64 >(this) : 0;
@@ -185,51 +198,61 @@ void ChildAccess::bind(
     rtl::Reference< Access > const & parent, OUString const & name)
     throw ()
 {
-    assert(!parent_.is() && root.is() && parent.is() && !name.isEmpty());
-    root_ = root;
-    parent_ = parent;
-    name_ = name;
+    assert(!m_rParent.is() && root.is() && parent.is() && !name.isEmpty());
+    m_rRoot = root;
+    m_rParent = parent;
+    m_sName = name;
 }
 
-void ChildAccess::unbind() throw () {
-    assert(parent_.is());
-    parent_->releaseChild(name_);
-    parent_.clear();
-    inTransaction_ = true;
+void ChildAccess::unbind() throw ()
+{
+    assert(m_rParent.is());
+    m_rParent->releaseChild(m_sName);
+    m_rParent.clear();
+    m_bInTransaction = true;
 }
 
-void ChildAccess::committed() {
-    inTransaction_ = false;
+void ChildAccess::committed()
+{
+    m_bInTransaction = false;
 }
 
-void ChildAccess::setNode(rtl::Reference< Node > const & node) {
-    node_ = node;
+void ChildAccess::setNode(rtl::Reference< Node > const & node)
+{
+    m_rNode = node;
 }
 
-void ChildAccess::setProperty(
-    css::uno::Any const & value, Modifications * localModifications)
+void ChildAccess::setProperty( css::uno::Any const & value,
+                               Modifications * localModifications)
 {
     assert(localModifications != 0);
     Type type = TYPE_ERROR;
     bool nillable = false;
-    switch (node_->kind()) {
+    switch (m_rNode->kind())
+    {
     case Node::KIND_PROPERTY:
         {
-            PropertyNode * prop = dynamic_cast< PropertyNode * >(node_.get());
-            type = prop->getStaticType();
-            nillable = prop->isNillable();
+            PropertyNode * prop = dynamic_cast< PropertyNode * >(m_rNode.get());
+            if(prop)
+            {
+                type = prop->getStaticType();
+                nillable = prop->isNillable();
+            }
         }
         break;
     case Node::KIND_LOCALIZED_PROPERTY:
         {
             OUString locale(getRootAccess()->getLocale());
-            if (!Components::allLocales(locale)) {
+            if (!Components::allLocales(locale))
+            {
                 rtl::Reference< ChildAccess > child(getChild(locale));
-                if (child.is()) {
+                if (child.is())
+                {
                     child->setProperty(value, localModifications);
-                } else {
-                    insertLocalizedValueChild(
-                        locale, value, localModifications);
+                }
+                else
+                {
+                    insertLocalizedValueChild( locale, value, localModifications);
                 }
                 return;
             }
@@ -239,8 +262,11 @@ void ChildAccess::setProperty(
         {
             LocalizedPropertyNode * locprop =
                 dynamic_cast< LocalizedPropertyNode * >(getParentNode().get());
-            type = locprop->getStaticType();
-            nillable = locprop->isNillable();
+            if(locprop)
+            {
+                type = locprop->getStaticType();
+                nillable = locprop->isNillable();
+            }
         }
         break;
     default:
@@ -248,22 +274,32 @@ void ChildAccess::setProperty(
     }
     checkValue(value, type, nillable);
     getParentAccess()->markChildAsModified(this);
-    changedValue_.reset(new css::uno::Any(value));
+    m_changedValue.reset(new css::uno::Any(value));
     localModifications->add(getRelativePath());
 }
 
-css::uno::Any ChildAccess::asValue() {
-    if (changedValue_.get() != 0) {
-        return *changedValue_;
+css::uno::Any ChildAccess::asValue()
+{
+    if (m_changedValue.get() != 0)
+    {
+        return *m_changedValue;
     }
-    switch (node_->kind()) {
+    switch (m_rNode->kind())
+    {
     case Node::KIND_PROPERTY:
-        return dynamic_cast< PropertyNode * >(node_.get())->getValue(
-            getComponents());
+        {
+            PropertyNode* propnode = dynamic_cast< PropertyNode * >(m_rNode.get());
+            if(propnode)
+            {
+                return propnode->getValue(getComponents());
+            }
+        }
+        break;
     case Node::KIND_LOCALIZED_PROPERTY:
         {
             OUString locale(getRootAccess()->getLocale());
-            if (!Components::allLocales(locale)) {
+            if (!Components::allLocales(locale))
+            {
                 rtl::Reference< ChildAccess > child(getChild("*" + locale));
                 // As a last resort, return a nil value even though it may be
                 // illegal for the given property:
@@ -272,7 +308,14 @@ css::uno::Any ChildAccess::asValue() {
         }
         break;
     case Node::KIND_LOCALIZED_VALUE:
-        return dynamic_cast< LocalizedValueNode * >(node_.get())->getValue();
+        {
+            LocalizedValueNode* locnode = dynamic_cast< LocalizedValueNode * >(m_rNode.get());
+            if(locnode)
+            {
+                return locnode->getValue();
+            }
+        }
+        break;
     default:
         break;
     }
@@ -285,42 +328,56 @@ void ChildAccess::commitChanges(bool valid, Modifications * globalModifications)
 {
     assert(globalModifications != 0);
     commitChildChanges(valid, globalModifications);
-    if (valid && changedValue_.get() != 0) {
+    if (valid && m_changedValue.get() != 0)
+    {
         Path path(getAbsolutePath());
         getComponents().addModification(path);
         globalModifications->add(path);
-        switch (node_->kind()) {
+        switch (m_rNode->kind())
+        {
         case Node::KIND_PROPERTY:
-            dynamic_cast< PropertyNode * >(node_.get())->setValue(
-                Data::NO_LAYER, *changedValue_);
+            {
+                PropertyNode* propnode = dynamic_cast< PropertyNode * >(m_rNode.get());
+                if(propnode)
+                {
+                    propnode->setValue( Data::NO_LAYER, *m_changedValue);
+                }
+            }
             break;
         case Node::KIND_LOCALIZED_VALUE:
-            dynamic_cast< LocalizedValueNode * >(node_.get())->setValue(
-                Data::NO_LAYER, *changedValue_);
+            {
+                LocalizedValueNode* locnode = dynamic_cast< LocalizedValueNode * >(m_rNode.get());
+                if(locnode)
+                {
+                    locnode->setValue( Data::NO_LAYER, *m_changedValue);
+                }
+            }
             break;
         default:
             assert(false); // this cannot happen
             break;
         }
     }
-    changedValue_.reset();
+    m_changedValue.reset();
 }
 
-ChildAccess::~ChildAccess() {
-    osl::MutexGuard g(*lock_);
-    if (parent_.is()) {
-        parent_->releaseChild(name_);
+ChildAccess::~ChildAccess()
+{
+    osl::MutexGuard g(*m_pLock);
+    if (m_rParent.is())
+    {
+        m_rParent->releaseChild(m_sName);
     }
 }
 
-void ChildAccess::addTypes(std::vector< css::uno::Type > * types) const {
+void ChildAccess::addTypes(std::vector< css::uno::Type > * types) const
+{
     assert(types != 0);
     types->push_back(cppu::UnoType< css::container::XChild >::get());
     types->push_back(cppu::UnoType< css::lang::XUnoTunnel >::get());
 }
 
-void ChildAccess::addSupportedServiceNames(
-    std::vector< OUString > * services)
+void ChildAccess::addSupportedServiceNames( std::vector< OUString > * services)
 {
     assert(services != 0);
     services->push_back(
@@ -333,7 +390,7 @@ css::uno::Any ChildAccess::queryInterface(css::uno::Type const & aType)
     throw (css::uno::RuntimeException)
 {
     assert(thisIs(IS_ANY));
-    osl::MutexGuard g(*lock_);
+    osl::MutexGuard g(*m_pLock);
     checkLocalizedPropertyAccess();
     css::uno::Any res(Access::queryInterface(aType));
     return res.hasValue()
diff --git a/configmgr/source/childaccess.hxx b/configmgr/source/childaccess.hxx
index ef1444a..c34ea39 100644
--- a/configmgr/source/childaccess.hxx
+++ b/configmgr/source/childaccess.hxx
@@ -105,7 +105,7 @@ public:
 
     void unbind() throw ();
 
-    bool isInTransaction() const { return inTransaction_; }
+    bool isInTransaction() const { return m_bInTransaction; }
     void committed();
     void setNode(rtl::Reference< Node > const & node);
 
@@ -130,14 +130,14 @@ private:
         com::sun::star::uno::Type const & aType)
         throw (com::sun::star::uno::RuntimeException);
 
-    rtl::Reference< RootAccess > root_;
-    rtl::Reference< Access > parent_; // null if free node
-    OUString name_;
-    rtl::Reference< Node > node_;
-    std::auto_ptr< com::sun::star::uno::Any > changedValue_;
-    bool inTransaction_;
+    rtl::Reference< RootAccess > m_rRoot;
+    rtl::Reference< Access > m_rParent; // null if free node
+    OUString m_sName;
+    rtl::Reference< Node > m_rNode;
+    std::auto_ptr< com::sun::star::uno::Any > m_changedValue;
+    bool m_bInTransaction;
         // to determine if a free node can be inserted underneath some root
-    boost::shared_ptr<osl::Mutex> lock_;
+    boost::shared_ptr<osl::Mutex> m_pLock;
 };
 
 }


More information about the Libreoffice-commits mailing list