From a3e43eb5ba593e0e1663def39ff4c92be9c676d3 Mon Sep 17 00:00:00 2001 From: dsandersoremutah Date: Wed, 27 Sep 2006 16:39:51 +0000 Subject: [PATCH] Modified methods that return DOMNodes to pass the reuse node in as a ref to the native C++ routine. git-svn-id: https://svn.code.sf.net/p/flaim/code/trunk@922 0109f412-320b-0410-ab79-c3e0c5ffbbe6 --- xflaim/csharp/xflaim/Query.cpp | 21 ++++------- xflaim/csharp/xflaim/Query.cs | 69 +++++++++++----------------------- 2 files changed, 29 insertions(+), 61 deletions(-) diff --git a/xflaim/csharp/xflaim/Query.cpp b/xflaim/csharp/xflaim/Query.cpp index e43987a..5ce2950 100644 --- a/xflaim/csharp/xflaim/Query.cpp +++ b/xflaim/csharp/xflaim/Query.cpp @@ -233,14 +233,13 @@ Desc: FLMEXTC FLMEXP RCODE FLMAPI xflaim_Query_getFirst( FLMUINT64 ui64Query, FLMUINT64 ui64Db, - FLMUINT64 ui64OldNode, FLMUINT32 ui32TimeLimit, FLMUINT64 * pui64Node) { RCODE rc; IF_Query * pQuery = (IF_Query *)((FLMUINT)ui64Query); IF_Db * pDb = (IF_Db *)((FLMUINT)ui64Db); - IF_DOMNode * pNode = (IF_DOMNode *)((FLMUINT)ui64OldNode); + IF_DOMNode * pNode = (IF_DOMNode *)((FLMUINT)(*pui64Node)); rc = pQuery->getFirst( pDb, &pNode, (FLMUINT)ui32TimeLimit); *pui64Node = (FLMUINT64)((FLMUINT)pNode); @@ -253,14 +252,13 @@ Desc: FLMEXTC FLMEXP RCODE FLMAPI xflaim_Query_getLast( FLMUINT64 ui64Query, FLMUINT64 ui64Db, - FLMUINT64 ui64OldNode, FLMUINT32 ui32TimeLimit, FLMUINT64 * pui64Node) { RCODE rc; IF_Query * pQuery = (IF_Query *)((FLMUINT)ui64Query); IF_Db * pDb = (IF_Db *)((FLMUINT)ui64Db); - IF_DOMNode * pNode = (IF_DOMNode *)((FLMUINT)ui64OldNode); + IF_DOMNode * pNode = (IF_DOMNode *)((FLMUINT)(*pui64Node)); rc = pQuery->getLast( pDb, &pNode, (FLMUINT)ui32TimeLimit); *pui64Node = (FLMUINT64)((FLMUINT)pNode); @@ -273,14 +271,13 @@ Desc: FLMEXTC FLMEXP RCODE FLMAPI xflaim_Query_getNext( FLMUINT64 ui64Query, FLMUINT64 ui64Db, - FLMUINT64 ui64OldNode, FLMUINT32 ui32TimeLimit, FLMUINT64 * pui64Node) { RCODE rc; IF_Query * pQuery = (IF_Query *)((FLMUINT)ui64Query); IF_Db * pDb = (IF_Db *)((FLMUINT)ui64Db); - IF_DOMNode * pNode = (IF_DOMNode *)((FLMUINT)ui64OldNode); + IF_DOMNode * pNode = (IF_DOMNode *)((FLMUINT)(*pui64Node)); rc = pQuery->getNext( pDb, &pNode, (FLMUINT)ui32TimeLimit); *pui64Node = (FLMUINT64)((FLMUINT)pNode); @@ -293,14 +290,13 @@ Desc: FLMEXTC FLMEXP RCODE FLMAPI xflaim_Query_getPrev( FLMUINT64 ui64Query, FLMUINT64 ui64Db, - FLMUINT64 ui64OldNode, FLMUINT32 ui32TimeLimit, FLMUINT64 * pui64Node) { RCODE rc; IF_Query * pQuery = (IF_Query *)((FLMUINT)ui64Query); IF_Db * pDb = (IF_Db *)((FLMUINT)ui64Db); - IF_DOMNode * pNode = (IF_DOMNode *)((FLMUINT)ui64OldNode); + IF_DOMNode * pNode = (IF_DOMNode *)((FLMUINT)(*pui64Node)); rc = pQuery->getPrev( pDb, &pNode, (FLMUINT)ui32TimeLimit); *pui64Node = (FLMUINT64)((FLMUINT)pNode); @@ -313,13 +309,12 @@ Desc: FLMEXTC FLMEXP RCODE FLMAPI xflaim_Query_getCurrent( FLMUINT64 ui64Query, FLMUINT64 ui64Db, - FLMUINT64 ui64OldNode, FLMUINT64 * pui64Node) { RCODE rc; IF_Query * pQuery = (IF_Query *)((FLMUINT)ui64Query); IF_Db * pDb = (IF_Db *)((FLMUINT)ui64Db); - IF_DOMNode * pNode = (IF_DOMNode *)((FLMUINT)ui64OldNode); + IF_DOMNode * pNode = (IF_DOMNode *)((FLMUINT)(*pui64Node)); rc = pQuery->getCurrent( pDb, &pNode); *pui64Node = (FLMUINT64)((FLMUINT)pNode); @@ -508,7 +503,6 @@ Desc: FLMEXTC FLMEXP RCODE FLMAPI xflaim_Query_positionTo( FLMUINT64 ui64Query, FLMUINT64 ui64Db, - FLMUINT64 ui64OldNode, FLMUINT32 ui32TimeLimit, FLMUINT32 ui32Position, FLMUINT64 * pui64Node) @@ -516,7 +510,7 @@ FLMEXTC FLMEXP RCODE FLMAPI xflaim_Query_positionTo( RCODE rc; IF_Query * pQuery = (IF_Query *)((FLMUINT)ui64Query); IF_Db * pDb = (IF_Db *)((FLMUINT)ui64Db); - IF_DOMNode * pNode = (IF_DOMNode *)((FLMUINT)ui64OldNode); + IF_DOMNode * pNode = (IF_DOMNode *)((FLMUINT)(*pui64Node)); rc = pQuery->positionTo( pDb, &pNode, (FLMUINT)ui32TimeLimit, (FLMUINT)ui32Position); *pui64Node = (FLMUINT64)((FLMUINT)pNode); @@ -529,7 +523,6 @@ Desc: FLMEXTC FLMEXP RCODE FLMAPI xflaim_Query_positionToByKey( FLMUINT64 ui64Query, FLMUINT64 ui64Db, - FLMUINT64 ui64OldNode, FLMUINT32 ui32TimeLimit, FLMUINT64 ui64SearchKey, FLMUINT32 ui32RetrieveFlags, @@ -538,7 +531,7 @@ FLMEXTC FLMEXP RCODE FLMAPI xflaim_Query_positionToByKey( RCODE rc; IF_Query * pQuery = (IF_Query *)((FLMUINT)ui64Query); IF_Db * pDb = (IF_Db *)((FLMUINT)ui64Db); - IF_DOMNode * pNode = (IF_DOMNode *)((FLMUINT)ui64OldNode); + IF_DOMNode * pNode = (IF_DOMNode *)((FLMUINT)(*pui64Node)); IF_DataVector * pSearchKey = (IF_DataVector *)((FLMUINT)ui64SearchKey); rc = pQuery->positionTo( pDb, &pNode, (FLMUINT)ui32TimeLimit, diff --git a/xflaim/csharp/xflaim/Query.cs b/xflaim/csharp/xflaim/Query.cs index 25b76b1..1f1da1f 100644 --- a/xflaim/csharp/xflaim/Query.cs +++ b/xflaim/csharp/xflaim/Query.cs @@ -694,13 +694,10 @@ namespace xflaim { RCODE rc = 0; DOMNode newNode; - ulong pNode; - ulong pOldNode = (nodeToReuse == null) - ? 0 - : nodeToReuse.getNode(); + ulong pNode = (nodeToReuse != null) ? nodeToReuse.getNode() : 0; if ((rc = xflaim_Query_getFirst( m_pQuery, m_db.getDb(), - pOldNode, uiTimeLimit, out pNode)) != 0) + uiTimeLimit, ref pNode)) != 0) { throw new XFlaimException( rc); } @@ -721,9 +718,8 @@ namespace xflaim private static extern RCODE xflaim_Query_getFirst( ulong pQuery, ulong pDb, - ulong pOldNode, uint uiTimeLimit, - out ulong ppNode); + ref ulong ppNode); //----------------------------------------------------------------------------- // getLast @@ -751,13 +747,10 @@ namespace xflaim { RCODE rc = 0; DOMNode newNode; - ulong pNode; - ulong pOldNode = (nodeToReuse == null) - ? 0 - : nodeToReuse.getNode(); + ulong pNode = (nodeToReuse != null) ? nodeToReuse.getNode() : 0; if ((rc = xflaim_Query_getLast( m_pQuery, m_db.getDb(), - pOldNode, uiTimeLimit, out pNode)) != 0) + uiTimeLimit, ref pNode)) != 0) { throw new XFlaimException( rc); } @@ -778,9 +771,8 @@ namespace xflaim private static extern RCODE xflaim_Query_getLast( ulong pQuery, ulong pDb, - ulong pOldNode, uint uiTimeLimit, - out ulong ppNode); + ref ulong ppNode); //----------------------------------------------------------------------------- // getNext @@ -808,13 +800,10 @@ namespace xflaim { RCODE rc = 0; DOMNode newNode; - ulong pNode; - ulong pOldNode = (nodeToReuse == null) - ? 0 - : nodeToReuse.getNode(); + ulong pNode = (nodeToReuse != null) ? nodeToReuse.getNode() : 0; if ((rc = xflaim_Query_getNext( m_pQuery, m_db.getDb(), - pOldNode, uiTimeLimit, out pNode)) != 0) + uiTimeLimit, ref pNode)) != 0) { throw new XFlaimException( rc); } @@ -835,9 +824,8 @@ namespace xflaim private static extern RCODE xflaim_Query_getNext( ulong pQuery, ulong pDb, - ulong pOldNode, uint uiTimeLimit, - out ulong ppNode); + ref ulong ppNode); //----------------------------------------------------------------------------- // getPrev @@ -865,13 +853,10 @@ namespace xflaim { RCODE rc = 0; DOMNode newNode; - ulong pNode; - ulong pOldNode = (nodeToReuse == null) - ? 0 - : nodeToReuse.getNode(); + ulong pNode = (nodeToReuse != null) ? nodeToReuse.getNode() : 0; if ((rc = xflaim_Query_getPrev( m_pQuery, m_db.getDb(), - pOldNode, uiTimeLimit, out pNode)) != 0) + uiTimeLimit, ref pNode)) != 0) { throw new XFlaimException( rc); } @@ -892,9 +877,8 @@ namespace xflaim private static extern RCODE xflaim_Query_getPrev( ulong pQuery, ulong pDb, - ulong pOldNode, uint uiTimeLimit, - out ulong ppNode); + ref ulong ppNode); //----------------------------------------------------------------------------- // getCurrent @@ -919,13 +903,10 @@ namespace xflaim { RCODE rc = 0; DOMNode newNode; - ulong pNode; - ulong pOldNode = (nodeToReuse == null) - ? 0 - : nodeToReuse.getNode(); + ulong pNode = (nodeToReuse != null) ? nodeToReuse.getNode() : 0; if ((rc = xflaim_Query_getCurrent( m_pQuery, m_db.getDb(), - pOldNode, out pNode)) != 0) + ref pNode)) != 0) { throw new XFlaimException( rc); } @@ -946,8 +927,7 @@ namespace xflaim private static extern RCODE xflaim_Query_getCurrent( ulong pQuery, ulong pDb, - ulong pOldNode, - out ulong ppNode); + ref ulong ppNode); //----------------------------------------------------------------------------- // resetQuery @@ -1227,13 +1207,11 @@ namespace xflaim uint uiPosition) { RCODE rc; - ulong pOldNode = (nodeToReuse != null) ? nodeToReuse.getNode() : 0; - ulong pNode; DOMNode newNode; + ulong pNode = (nodeToReuse != null) ? nodeToReuse.getNode() : 0; if ((rc = xflaim_Query_positionTo( m_pQuery, m_db.getDb(), - pOldNode, uiTimeLimit, - uiPosition, out pNode)) != 0) + uiTimeLimit, uiPosition, ref pNode)) != 0) { throw new XFlaimException( rc); } @@ -1254,10 +1232,9 @@ namespace xflaim private static extern RCODE xflaim_Query_positionTo( ulong pQuery, ulong pDb, - ulong pOldNode, uint uiTimeLimit, uint uiPosition, - out ulong ppNode); + ref ulong ppNode); //----------------------------------------------------------------------------- // positionTo @@ -1294,13 +1271,12 @@ namespace xflaim RetrieveFlags retrieveFlags) { RCODE rc; - ulong pOldNode = (nodeToReuse != null) ? nodeToReuse.getNode() : 0; - ulong pNode; DOMNode newNode; + ulong pNode = (nodeToReuse != null) ? nodeToReuse.getNode() : 0; if ((rc = xflaim_Query_positionToByKey( m_pQuery, m_db.getDb(), - pOldNode, uiTimeLimit, searchKey.getDataVector(), - retrieveFlags, out pNode)) != 0) + uiTimeLimit, searchKey.getDataVector(), + retrieveFlags, ref pNode)) != 0) { throw new XFlaimException( rc); } @@ -1321,11 +1297,10 @@ namespace xflaim private static extern RCODE xflaim_Query_positionToByKey( ulong pQuery, ulong pDb, - ulong pOldNode, uint uiTimeLimit, ulong pDataVector, RetrieveFlags retrieveFlags, - out ulong ppNode); + ref ulong ppNode); //----------------------------------------------------------------------------- // getPosition