// file: $isip/class/asr/Machine/mach_0.cc
// version: $Id: mach_00.cc 8573 2002-08-13 21:54:47Z alphonso $
//

// isip include files
//
#include "Machine.h"

// method: default constructor
//
// arguments: none
//
// return: none
//
// this is the default constructor for the Machine class.
//
Machine::Machine() {

  // initialize member data
  //
  protocol_d = DEF_PROTOCOL;
  num_processors_d = DEF_NUM_PROCESSORS;
  speed_d = DEF_PROCESSOR_SPEED;
  main_memory_d = DEF_MAIN_MEMORY;
  swap_memory_d = DEF_SWAP_MEMORY;  
}

//-----------------------------------------------------------------------------
//
// we define non-integral constants in the default constructor
//
//-----------------------------------------------------------------------------

// constants: required constants such as the class name
//
const String Machine::CLASS_NAME(L"Machine");

// constants: NameMap(s) for the enumerated values
//
const NameMap Machine::PROTOCOL_MAP(L"REMOTE_SHELL, SECURE_SHELL");

// constants: i/o related constants
//
const String Machine::DEF_PARAM(L"");
const String Machine::PARAM_PROTOCOL(L"protocol");
const String Machine::PARAM_NODE_NAME(L"node_name");
const String Machine::PARAM_ARCHITECTURE(L"architecture");
const String Machine::PARAM_NUM_PROCESSORS(L"num_processors");
const String Machine::PARAM_PROCESSOR_SPEED(L"processor_speed");
const String Machine::PARAM_MAIN_MEMORY(L"main_memory");
const String Machine::PARAM_SWAP_MEMORY(L"swap_memory");
const String Machine::PARAM_OS_NAME(L"os_name");
const String Machine::PARAM_OS_VERSION(L"os_version");

// static instantiations: debug level
//
Integral::DEBUG Machine::debug_level_d = Integral::NONE;

// static instantiations: the memory manager
//
MemoryManager Machine::mgr_d(sizeof(Machine));
