[Libreoffice-commits] core.git: rsc/inc rsc/source

Noel Grandin noelgrandin at gmail.com
Wed Sep 23 06:08:15 PDT 2015


 rsc/inc/rscclobj.hxx         |    8 +++----
 rsc/inc/rsctree.hxx          |    2 -
 rsc/source/parser/rscdb.cxx  |   48 +++++++++++++++++++++----------------------
 rsc/source/tools/rsctree.cxx |    4 +--
 4 files changed, 31 insertions(+), 31 deletions(-)

New commits:
commit 00a6992b97a806b183e368d412508801dc632f8b
Author: Noel Grandin <noelgrandin at gmail.com>
Date:   Wed Sep 23 10:17:52 2015 +0200

    convert Link<> to typed
    
    Change-Id: I80bd798ea5d36fa94d6b3348be713dbe2cbeab14
    Reviewed-on: https://gerrit.libreoffice.org/18803
    Reviewed-by: Noel Grandin <noelgrandin at gmail.com>
    Tested-by: Noel Grandin <noelgrandin at gmail.com>

diff --git a/rsc/inc/rscclobj.hxx b/rsc/inc/rscclobj.hxx
index 5eaedb6..2509e57 100644
--- a/rsc/inc/rscclobj.hxx
+++ b/rsc/inc/rscclobj.hxx
@@ -38,8 +38,8 @@ public:
                 ObjNode( const RscId & rId, CLASS_DATA pData, sal_uLong lKey );
     ObjNode *   DelObjNode( RscTop * pClass, sal_uLong lFileKey );
     sal_uInt32  GetId() const SAL_OVERRIDE;
-    RscId       GetRscId(){ return aRscId; }
-    sal_uLong   GetFileKey(){ return lFileKey; };
+    RscId       GetRscId() const { return aRscId; }
+    sal_uLong   GetFileKey() const { return lFileKey; };
     ObjNode*    Search( const RscId &rName ) const //< search the index in the b-tree
                     {
                         return static_cast<ObjNode *>(IdNode::Search( rName ));
@@ -49,7 +49,7 @@ public:
                     {
                         return IdNode::Insert( static_cast<IdNode *>(pTN) );
                     }
-    CLASS_DATA  GetRscObj() //< get the Object from this Node
+    CLASS_DATA  GetRscObj() const//< get the Object from this Node
 
                     {
                         return pRscObj;
@@ -79,7 +79,7 @@ public:
                 // insert new node in b-tree pObjBiTree
     ObjNode *   GetObjNode( const RscId &rRscId );
 
-    ObjNode *   GetObjNode()
+    ObjNode *   GetObjNode() const
                     {
                         // hole  pObjBiTree
                         return pObjBiTree;
diff --git a/rsc/inc/rsctree.hxx b/rsc/inc/rsctree.hxx
index f2f6ac2..209c422 100644
--- a/rsc/inc/rsctree.hxx
+++ b/rsc/inc/rsctree.hxx
@@ -43,7 +43,7 @@ protected:
                         NameNode* ChangeBTreeDLList();
 
 public:
-            void        EnumNodes( Link<> aLink ) const;
+            void        EnumNodes( Link<const NameNode&,void> aLink ) const;
             NameNode*   Left() const { return pLeft; }
             NameNode*   Right() const{ return pRight; }
             NameNode*   Search( const NameNode * pName ) const;
diff --git a/rsc/source/parser/rscdb.cxx b/rsc/source/parser/rscdb.cxx
index 42aa6da..627e549 100644
--- a/rsc/source/parser/rscdb.cxx
+++ b/rsc/source/parser/rscdb.cxx
@@ -349,8 +349,8 @@ private:
     sal_uLong   lFileKey;   // what source file
     RscTop *    pClass;
 
-    DECL_LINK( CallBackWriteRc, ObjNode * );
-    DECL_LINK( CallBackWriteSrc, ObjNode * );
+    DECL_LINK_TYPED( CallBackWriteRc, const NameNode&, void );
+    DECL_LINK_TYPED( CallBackWriteSrc, const NameNode&, void );
 
     ERRTYPE WriteRc( RscTop * pCl, ObjNode * pRoot )
     {
@@ -369,30 +369,30 @@ public:
     void WriteRcFile( RscWriteRc & rMem, FILE * fOutput );
 };
 
-IMPL_LINK( RscEnumerateObj, CallBackWriteRc, ObjNode *, pObjNode )
+IMPL_LINK_TYPED( RscEnumerateObj, CallBackWriteRc, const NameNode&, rNode, void )
 {
-    RscWriteRc      aMem( pTypCont->GetByteOrder() );
+    const ObjNode& rObjNode = static_cast<const ObjNode&>(rNode);
+    RscWriteRc     aMem( pTypCont->GetByteOrder() );
 
-    aError = pClass->WriteRcHeader( RSCINST( pClass, pObjNode->GetRscObj() ),
+    aError = pClass->WriteRcHeader( RSCINST( pClass, rObjNode.GetRscObj() ),
                                      aMem, pTypCont,
-                                     pObjNode->GetRscId(), 0, true );
+                                     rObjNode.GetRscId(), 0, true );
     if( aError.IsError() || aError.IsWarning() )
-        pTypCont->pEH->Error( aError, pClass, pObjNode->GetRscId() );
+        pTypCont->pEH->Error( aError, pClass, rObjNode.GetRscId() );
 
     WriteRcFile( aMem, fOutput );
-    return 0;
 }
 
-IMPL_LINK( RscEnumerateObj, CallBackWriteSrc, ObjNode *, pObjNode )
+IMPL_LINK_TYPED( RscEnumerateObj, CallBackWriteSrc, const NameNode&, rNode, void )
 {
-    if( pObjNode->GetFileKey() == lFileKey )
+    const ObjNode& rObjNode = static_cast<const ObjNode&>(rNode);
+    if( rObjNode.GetFileKey() == lFileKey )
     {
-        pClass->WriteSrcHeader( RSCINST( pClass, pObjNode->GetRscObj() ),
+        pClass->WriteSrcHeader( RSCINST( pClass, rObjNode.GetRscObj() ),
                                 fOutput, pTypCont, 0,
-                                pObjNode->GetRscId(), "" );
+                                rObjNode.GetRscId(), "" );
         fprintf( fOutput, ";\n" );
     }
-    return 0;
 }
 
 void RscEnumerateObj :: WriteRcFile( RscWriteRc & rMem, FILE * fOut )
@@ -445,8 +445,8 @@ class RscEnumerateRef
 private:
     RscTop *        pRoot;
 
-    DECL_LINK( CallBackWriteRc, RscTop * );
-    DECL_LINK( CallBackWriteSrc, RscTop * );
+    DECL_LINK_TYPED( CallBackWriteRc, const NameNode&, void );
+    DECL_LINK_TYPED( CallBackWriteSrc, const NameNode&, void );
 public:
     RscEnumerateObj aEnumObj;
 
@@ -473,16 +473,16 @@ public:
         }
 };
 
-IMPL_LINK( RscEnumerateRef, CallBackWriteRc, RscTop *, pRef )
+IMPL_LINK_TYPED( RscEnumerateRef, CallBackWriteRc, const NameNode&, rNode, void )
 {
-    aEnumObj.WriteRc( pRef, pRef->GetObjNode() );
-    return 0;
+    const RscTop& rRef = static_cast<const RscTop&>(rNode);
+    aEnumObj.WriteRc( const_cast<RscTop*>(&rRef), rRef.GetObjNode() );
 }
 
-IMPL_LINK( RscEnumerateRef, CallBackWriteSrc, RscTop *, pRef )
+IMPL_LINK_TYPED( RscEnumerateRef, CallBackWriteSrc, const NameNode&, rNode, void )
 {
-    aEnumObj.WriteSrc( pRef, pRef->GetObjNode() );
-    return 0;
+    const RscTop& rRef = static_cast<const RscTop&>(rNode);
+    aEnumObj.WriteSrc( const_cast<RscTop*>(&rRef), rRef.GetObjNode() );
 }
 
 ERRTYPE RscTypCont::WriteRc( WriteRcContext& rContext )
@@ -561,7 +561,7 @@ void RscTypCont :: WriteSrc( FILE * fOutput, sal_uLong nFileKey,
 class RscDel
 {
     sal_uLong lFileKey;
-    DECL_LINK( Delete, RscTop * );
+    DECL_LINK_TYPED( Delete, const NameNode&, void );
 public:
     RscDel( RscTop * pRoot, sal_uLong lKey );
 };
@@ -573,11 +573,11 @@ inline RscDel::RscDel( RscTop * pRoot, sal_uLong lKey )
     pRoot->EnumNodes( LINK( this, RscDel, Delete ) );
 }
 
-IMPL_LINK( RscDel, Delete, RscTop *, pNode )
+IMPL_LINK_TYPED( RscDel, Delete, const NameNode&, r, void )
 {
+    RscTop* pNode = const_cast<RscTop*>(static_cast<const RscTop*>(&r));
     if( pNode->GetObjNode() )
         pNode->pObjBiTree = pNode->GetObjNode()->DelObjNode( pNode, lFileKey );
-    return 0;
 }
 
 void RscTypCont :: Delete( sal_uLong lFileKey )
diff --git a/rsc/source/tools/rsctree.cxx b/rsc/source/tools/rsctree.cxx
index 8ee5036..4945754 100644
--- a/rsc/source/tools/rsctree.cxx
+++ b/rsc/source/tools/rsctree.cxx
@@ -35,11 +35,11 @@ NameNode::~NameNode()
 {
 }
 
-void NameNode::EnumNodes( Link<> aLink ) const
+void NameNode::EnumNodes( Link<const NameNode&,void> aLink ) const
 {
     if( Left() )
         Left()->EnumNodes( aLink );
-    aLink.Call( const_cast<NameNode *>(this) );
+    aLink.Call( *this );
     if( Right() )
         Right()->EnumNodes( aLink );
 }


More information about the Libreoffice-commits mailing list