// file: $isip/class/system/Console/cons_01.cc
// version: $Id: cons_01.cc 6627 2001-04-09 18:44:18Z duncan $
//

// isip include files
//
#include <SysString.h>
#include "Console.h"

// method: debug
//
// arguments:
//  const unichar* msg: (input) debugging message
//  
// return: a boolean value indicating status
//
// this is the debug method
//
boolean Console::debug(const unichar* msg_a) {

  // build the debug string
  //
  SysString output;
  SysString value(L"");
  output.debugStr(name(), msg_a, L"", value);
  output.trimRight(L"= ");
  Console::put(output);

  // output the current console
  //
  cons_d.debug(L"cons_d");
  
  // output the size of the console
  //
  value.assign((long)size_d);
  output.debugStr(name(), msg_a, L"size_d", value);
  Console::put(output);
  
  // output the initialized flag
  //
  value.assign(initialized_wrap_d);
  output.debugStr(name(), msg_a, L"initialized_wrap_d", value);
  Console::put(output);

  // output each console in the stack
  //
  SysString var;  
  
  for (long i = size_d - 1; i >= 0; i--) {
    var.assign((long)i);
    var.insert(L"stack_d[", 0);
    var.concat(L"]");
    stack_d[i].debug(var);
  }
  
  // exit gracefully
  //
  return true;
}
