예제 #1
0
 public RCODE reportNodeCreate(
     ref RestoreAction peRestoreAction,
     ulong ulTransId,
     uint uiCollection,
     ulong ulRefNodeId,
     eDomNodeType eNodeType,
     uint uiNameId,
     eNodeInsertLoc eLocation)
 {
     peRestoreAction = RestoreAction.XFLM_RESTORE_ACTION_CONTINUE;
     return(RCODE.NE_XFLM_OK);
 }
예제 #2
0
        //-----------------------------------------------------------------------------
        // createNode
        //-----------------------------------------------------------------------------
        /// <summary>
        /// Creates a new DOM node and inserts it into the database in the
        /// specified position relative to the current node.  An existing
        /// DOMNode object can optionally be passed in, and it will be reused
        /// instead of a new object being allocated.
        /// </summary>
        /// <param name="eNodeType">
        /// Type of node to create.
        /// </param>
        /// <param name="uiNameId">
        /// The dictionary tag number that represents the node name. This name ID
        /// must exist in the dictionary before it can be used here.  The value
        /// may be one of the predefined ones, or it may be created by calling
        /// <see cref="Db.createElementDef"/>.
        /// </param>
        /// <param name="eInsertLoc">
        /// The relative position to insert the new node with respect to this node.
        /// </param>
        /// <param name="nodeToReuse">
        /// An existing <see cref="DOMNode"/> object can optionally be passed in, and
        /// it will be reused instead of a new object being allocated.
        /// </param>
        /// <returns>
        /// Returns a <see cref="DOMNode"/> object.
        /// </returns>
        public DOMNode createNode(
			eDomNodeType	eNodeType,
			uint				uiNameId,
			eNodeInsertLoc	eInsertLoc,
			DOMNode			nodeToReuse)
        {
            RCODE		rc;
            IntPtr	pNode = (nodeToReuse != null) ? nodeToReuse.getNode() : IntPtr.Zero;

            if ((rc = xflaim_DOMNode_createNode( m_pNode, m_db.getDb(),
                eNodeType, uiNameId, eInsertLoc, ref pNode)) != 0)
            {
                throw new XFlaimException( rc);
            }
            return( makeNode( nodeToReuse, pNode));
        }
예제 #3
0
        private static extern RCODE xflaim_DOMNode_createNode(
			IntPtr			pNode,
			IntPtr			pDb,
			eDomNodeType	eNodeType,
			uint				uiNameId,
			eNodeInsertLoc	eInsertLoc,
			ref IntPtr		ppNode);
예제 #4
0
        private static extern RCODE xflaim_Db_importIntoDocument(
			IntPtr					pDb,
			IntPtr					pIStream,
			IntPtr					pNodeToLinkTo,
			eNodeInsertLoc			insertLocation,
			CS_XFLM_IMPORT_STATS	importStats);
예제 #5
0
        //-----------------------------------------------------------------------------
        // importIntoDocument
        //-----------------------------------------------------------------------------
        /// <summary>
        /// Imports an XML fragment into a document.  The import requires
        /// an update transaction.
        /// </summary>
        /// <param name="istream">
        /// Input stream containing the nodes to be imported.
        /// </param>
        /// <param name="nodeToLinkTo">
        /// Existing node that imported nodes will link to.
        /// </param>
        /// <param name="insertLocation">
        /// Where imported XML fragment is to be linked with respect
        /// to nodeToLinkTo.
        /// </param>
        /// <returns>
        /// Returns import statistics <see cref="CS_XFLM_IMPORT_STATS"/>.
        /// </returns>
        public CS_XFLM_IMPORT_STATS importIntoDocument(
			IStream				istream,
			DOMNode				nodeToLinkTo,
			eNodeInsertLoc		insertLocation)
        {
            RCODE						rc;
            CS_XFLM_IMPORT_STATS	importStats = new CS_XFLM_IMPORT_STATS();

            if ((rc = xflaim_Db_importIntoDocument( m_pDb,
                istream.getIStream(), nodeToLinkTo.getNode(), insertLocation,
                importStats)) != 0)
            {
                throw new XFlaimException(rc);
            }

            return( importStats);
        }
예제 #6
0
            public RCODE reportNodeCreate(
				ref RestoreAction 	peRestoreAction,
				ulong						ulTransId,
				uint						uiCollection,
				ulong						ulRefNodeId,
				eDomNodeType			eNodeType,
				uint						uiNameId,
				eNodeInsertLoc			eLocation)
            {
                peRestoreAction = RestoreAction.XFLM_RESTORE_ACTION_CONTINUE;
                return( RCODE.NE_XFLM_OK);
            }