// file: $isip/class/algo/Mask/mask_01.cc
// version: $Id: mask_01.cc 6534 2001-03-26 19:40:02Z srivasta $
//

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

// method: debug
//
// arguments:
//  const unichar* msg: (input) message to print
//
// return: a boolean value indicating status
//
boolean Mask::debug(const unichar* msg_a) const {

  // declare local variables
  //
  String value;
  String output;

  // output the information message
  //
  output.debugStr(name(), msg_a, L":");
  Console::put(output);
  Console::increaseIndention();

  // display the algorithm name 
  //
  output.debugStr(name(), msg_a, L"algorithm_d",
                  Mask::ALGO_MAP.getName((long)algorithm_d));
  Console::put(output);

  // display the implementation name
  //
  output.debugStr(name(), msg_a, L"implementation_d",
                  IMPL_MAP.getName((long)implementation_d));
  Console::put(output);
  
  // display mask string
  //
  output.debugStr(name(), msg_a, L"source_d");
  Console::put(output);
  Console::increaseIndention();
  source_d.debug(L"");
  Console::decreaseIndention();
  
  // display mask vector
  //
  output.debugStr(name(), msg_a, L"mask_d");
  Console::put(output);
  Console::increaseIndention();
  mask_d.debug(L"");
  Console::decreaseIndention();

  // debug level
  //
  output.debugStr(name(), msg_a, L"debug_level_d",
		  debug_level_d.getName());
  Console::put(output);

  // decrease indention
  //
  Console::decreaseIndention();
 
  // exit gracefully
  //
  return true;
}
