summaryrefslogtreecommitdiffstats
path: root/kxsldbg/kxsldbgpart/libxsldbg/option_cmds.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kxsldbg/kxsldbgpart/libxsldbg/option_cmds.cpp')
-rw-r--r--kxsldbg/kxsldbgpart/libxsldbg/option_cmds.cpp299
1 files changed, 0 insertions, 299 deletions
diff --git a/kxsldbg/kxsldbgpart/libxsldbg/option_cmds.cpp b/kxsldbg/kxsldbgpart/libxsldbg/option_cmds.cpp
deleted file mode 100644
index 0bc54364..00000000
--- a/kxsldbg/kxsldbgpart/libxsldbg/option_cmds.cpp
+++ /dev/null
@@ -1,299 +0,0 @@
-
-/***************************************************************************
- option_cmds.c - implementation for option
- related commands
-
- -------------------
- begin : Fri Feb 1 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. *
- * *
- ***************************************************************************/
-
-#include "xsldbg.h"
-#include "utils.h"
-#include "options.h"
-#include "xsldbgmsg.h"
-#include "xsldbgthread.h"
-#include "debugXSL.h"
-
-
-/**
- * xslDbgShellSetOption:
- * @arg : Is valid, and in the format <NAME> <VALUE>
- *
- * Set the value of an option
- *
- * Returns 1 on success,
- * 0 otherwise
- */
-int
-xslDbgShellSetOption(xmlChar * arg)
-{
- int result = 0;
-
- if (!arg) {
-#ifdef WITH_XSLDBG_DEBUG_PROCESS
- xsltGenericError(xsltGenericErrorContext,
- "Error: NULL argument provided\n");
-#endif
- return result;
- }
-
- if (xmlStrLen(arg) > 0) {
- xmlChar *opts[2];
- long optValue;
- long optID;
-
-
- if (splitString(arg, 2, opts) == 2) {
- bool invertOption = false;
- optID = optionsGetOptionID(opts[0]);
- if ((optID == -1) && (opts[0][0] == 'n') && (opts[0][1] == 'o')){
- optID = optionsGetOptionID(&opts[0][2]);
- if (optID != -1){
- // invert the value the user provides
- invertOption = true;
- }
- }
-
- if (optID >= OPTIONS_FIRST_INT_OPTIONID) {
- if (optID <= OPTIONS_LAST_INT_OPTIONID) {
- /* handle setting integer option */
- if ((xmlStrlen(opts[1]) == 0) ||
- !sscanf((char *) opts[1], "%ld", &optValue)) {
- xsldbgGenericErrorFunc(i18n("Error: Unable to parse %1 as an option value.\n").arg(xsldbgText(opts[1])));
- } else {
- if (invertOption)
- optValue = !optValue;
- result = optionsSetIntOption(OptionTypeEnum(optID), optValue);
- }
- } else {
- /* handle setting a string option */
- result = optionsSetStringOption(OptionTypeEnum(optID), opts[1]);
-
- }
- } else {
- static xmlExternalEntityLoader xsldbgDefaultEntLoader = 0;
- bool invertOption = false;
- bool enableNet = false;
-
- if (!xsldbgDefaultEntLoader)
- xsldbgDefaultEntLoader = xmlGetExternalEntityLoader();
-
- if (xmlStrEqual(opts[0], (const xmlChar *)"nonet" ))
- invertOption = true;
-
- if (xmlStrEqual(&opts[0][2*invertOption], (const xmlChar *)"net" )){
- if (sscanf((char *) opts[1], "%ld", &optValue)) {
- if (invertOption)
- optValue = !optValue;
- if (optValue)
- enableNet = true;
- result = true;
- if (enableNet)
- xmlSetExternalEntityLoader(xsldbgDefaultEntLoader);
- else
- xmlSetExternalEntityLoader(xmlNoNetExternalEntityLoader);
- }else{
- xsldbgGenericErrorFunc(i18n("Error: Unable to parse %1 as an option value.\n").arg(xsldbgText(opts[1])));
- }
- } else
- xsldbgGenericErrorFunc(i18n("Error: Unknown option name %1.\n").arg(xsldbgText(opts[0])));
- }
- } else {
- xsldbgGenericErrorFunc(i18n("Error: Missing arguments for the command %1.\n").arg("setoption"));
- }
- } else {
- xsldbgGenericErrorFunc(i18n("Error: Missing arguments for the command %1.\n").arg("setoption"));
- }
-
- return result;
-}
-
-
-
-/**
- * xslDbgShellOptions:
- *
- * Prints out values for user options
- *
- * Returns 1 on success,
- * 0 otherwise
- */
-int
-xslDbgShellOptions(void)
-{
- int result = 1;
- int optionIndex;
- const xmlChar *optionName, *optionValue;
-
- /* Print out the integer options and thier values */
- if (getThreadStatus() != XSLDBG_MSG_THREAD_RUN) {
- for (optionIndex = OPTIONS_XINCLUDE;
- optionIndex <= OPTIONS_VERBOSE; optionIndex++) {
- /* skip any non-user options */
- optionName = optionsGetOptionName(OptionTypeEnum(optionIndex));
- if (optionName && (optionName[0] != '*')) {
- xsldbgGenericErrorFunc(i18n("Option %1 = %2\n").arg(xsldbgText(optionName)).arg(optionsGetIntOption(OptionTypeEnum(optionIndex))));
-
- }
- }
- /* Print out the string options and thier values */
- for (optionIndex = OPTIONS_OUTPUT_FILE_NAME;
- optionIndex <= OPTIONS_DATA_FILE_NAME; optionIndex++) {
- optionName = optionsGetOptionName(OptionTypeEnum(optionIndex));
- if (optionName && (optionName[0] != '*')) {
- optionValue = optionsGetStringOption(OptionTypeEnum(optionIndex));
- if (optionValue) {
- xsldbgGenericErrorFunc(i18n("Option %1 = \"%2\"\n").arg(xsldbgText(optionName)).arg((char*)optionValue));
- } else {
- xsldbgGenericErrorFunc(i18n("Option %1 = \"\"\n").arg(xsldbgText(optionName)));
-
- }
- }
-
- }
- xsldbgGenericErrorFunc("\n");
- } else {
- /* we are now notifying the application of the value of options */
- parameterItemPtr paramItem;
-
- notifyListStart(XSLDBG_MSG_INTOPTION_CHANGE);
- /* send the integer options and their values */
- for (optionIndex = OPTIONS_XINCLUDE;
- optionIndex <= OPTIONS_VERBOSE; optionIndex++) {
- /* skip any non-user options */
- optionName = optionsGetOptionName(OptionTypeEnum(optionIndex));
- if (optionName && (optionName[0] != '*')) {
- paramItem = optionsParamItemNew(optionName, 0L);
- if (!paramItem) {
- notifyListSend(); /* send what ever we've got so far */
- return 0; /* out of memory */
- }
- paramItem->intValue = optionsGetIntOption(OptionTypeEnum(optionIndex));
- notifyListQueue(paramItem); /* this will be free later */
- }
- }
-
- notifyListSend();
- notifyListStart(XSLDBG_MSG_STRINGOPTION_CHANGE);
- /* Send the string options and thier values */
- for (optionIndex = OPTIONS_OUTPUT_FILE_NAME;
- optionIndex <= OPTIONS_DATA_FILE_NAME; optionIndex++) {
- optionName = optionsGetOptionName(OptionTypeEnum(optionIndex));
- if (optionName && (optionName[0] != '*')) {
- paramItem =
- optionsParamItemNew(optionName,
- optionsGetStringOption
- (OptionTypeEnum(optionIndex)));
- if (!paramItem) {
- notifyListSend(); /* send what ever we've got so far */
- return 0; /* out of memory */
- } else
- notifyListQueue(paramItem); /* this will be freed later */
- }
- }
- notifyListSend();
- }
-
- return result;
-}
-
-
- /**
- * xslDbgShellShowWatches:
- * @styleCtxt: the current stylesheet context
- * @ctxt: The current shell context
- * @showWarnings : If 1 then showWarning messages,
- * otherwise do not show warning messages
- *
- * Print the current watches and their values
- *
- * Returns 1 on success,
- * 0 otherwise
- */
- int xslDbgShellShowWatches(xsltTransformContextPtr styleCtxt,
- xmlShellCtxtPtr ctx,int showWarnings)
-{
- int result = 0, counter;
- xmlChar* watchExpression;
- if ((showWarnings == 1) && (arrayListCount(optionsGetWatchList()) == 0)){
- xsldbgGenericErrorFunc(i18n("\tNo expression watches set.\n"));
- }
- for ( counter = 0;
- counter < arrayListCount(optionsGetWatchList());
- counter++){
- watchExpression = (xmlChar*)arrayListGet(optionsGetWatchList(), counter);
- if (watchExpression){
- xsldbgGenericErrorFunc(i18n(" WatchExpression %1 ").arg(counter + 1));
- result = xslDbgShellCat(styleCtxt, ctx, watchExpression);
- }else
- break;
- }
-
- return result;
-}
-
-
- /**
- * xslDbgShellAddWatch:
- * @arg : A valid xPath of expression to watch the value of
- *
- * Add expression to list of expressions to watch value of
- *
- * Returns 1 on success,
- * 0 otherwise
- */
- int xslDbgShellAddWatch(xmlChar* arg)
-{
- int result = 0;
- if (arg){
- trimString(arg);
- result = optionsAddWatch(arg);
- if (!result)
- xsldbgGenericErrorFunc(i18n("Error: Unable to add watch expression \"%1\". It already has been added or it cannot be watched.\n").arg(xsldbgText(arg)));
- }
- return result;
-}
-
- /**
- * xslDbgShellDeleteWatch:
- * @arg : A watch ID to remove or "*" to remove all watches
- *
- * Delete a given watch ID from our list of expressions to watch
- *
- * Returns 1 on success,
- * 0 otherwise
- */
- int xslDbgShellDeleteWatch(xmlChar* arg)
-{
- int result = 0;
- long watchID;
- if (arg){
- trimString(arg);
- if (arg[0] == '*') {
- arrayListEmpty(optionsGetWatchList());
- }else if ((xmlStrlen(arg) == 0) ||
- !sscanf((char *) arg, "%ld", &watchID)) {
- xsldbgGenericErrorFunc(i18n("Error: Unable to parse %1 as a watchID.\n").arg(xsldbgText(arg)));
- return result;
- } else {
- result = optionsRemoveWatch(watchID);
- if (!result)
- xsldbgGenericErrorFunc(i18n("Error: Watch expression %1 does not exist.\n").arg(watchID));
- }
- }
- return result;
-}
-
-
-