Source: src/callstack.h


Annotated List
Files
Globals
Hierarchy
Index
/* *************************************************************************
                          xslcallpoint.h  -  public functions for the
                                               the call stack
                             -------------------
    begin                : Fri Dec 7 2001
    copyright            : (C) 2001 by Keith Isdale
    email                : k_isdale@tpg.com.au
 ************************************************************************* */

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ************************************************************************* */




/**
 * Provide a call stack support
 *
 * @short call stack support
 *
 * @author Keith Isdale  
 */
    typedef struct _callPointInfo callPointInfo;
    typedef callPointInfo *callPointInfoPtr;
    struct _callPointInfo {
        xmlChar *templateName, *templateURI;
        xmlChar *modeName, *modeURI;
        xmlChar *url;
        callPointInfoPtr next;
    };

    typedef struct _callPoint callPoint;
    typedef callPoint *callPointPtr;
    struct _callPoint {
        callPointInfoPtr info;
        long lineNo;
        callPointPtr next;
    };
    int
      callStackInit(void);
    void
      callStackFree(void);
  /**
   * Add template "call" to call stack
   *
   * @param templ The current template being applied 
   * @param source The source node being processed
   *
   * @returns 1 on success, 
   *          0 otherwise
   */


    int callStackAdd(xsltTemplatePtr templ, xmlNodePtr source);
/**
 * Drop the topmost item off the call stack
 */


    void callStackDrop(void);
/** 
 * Set the frame depth to step up to
 *
 * @returns 1 on success,
 *          0 otherwise
 *
 * @param depth The frame depth to step up to  
 *            0 < @p depth <= callDepth()
 */


    int callStackStepup(int depth);
/** 
 * Set the frame depth to step down to
 *
 * @returns 1 on success, 
 *          0 otherwise
 *
 * @param depth The frame depth to step down to  
 *            0 < @p depth <= callDepth()
 */


    int callStackStepdown(int depth);
/**
 * Retrieve the call point at specified call depth 

 * @returns Non-null a if depth is valid,
 *          NULL otherwise 
 *
 * @param depth 0 < @p depth <= callDepth()
 */


    callPointPtr callStackGet(int depth);
/**  
 * Get the top item in the call stack
 *
 * @returns The top of the call stack
 */


    callPointPtr callStackGetTop(void);
/**
 * @returns the depth of call stack
 */


    int callStackGetDepth(void);

Generated by: keith on crevasse on Sun Jun 29 13:44:41 2003, using kdoc 2.0a54.