// file: isip_run.h
//
// this is the header file for the isip_run utility
//
// make sure the file is included only once
//
#ifndef ISIP_UTIL_RUN
#define ISIP_UTIL_RUN

// isip include files
//
#include <CommandLine.h>
#include <Splitter.h>
#include <MachineDatabase.h>
#include <SpeechRecognizer.h>

static const String PROG_NAME(L"isip_run");
static const String EMPTY(String::NULL_STRING);

static const String OPTION_SPLIT_MODE(L"split_mode");
static const String OPTION_PARAMS_FILE(L"parameter_file");
static const String OPTION_IDENTIFIER_FILE(L"list_file");
static const String OPTION_IDENTIFIER_LIST(L"identifier_list");
static const String OPTION_ACCUMULATOR_LIST(L"accumulator_list");
static const String OPTION_MACHINE_LIST(L"machine_list");
static const String OPTION_MACHINE_MODE(L"mode");
static const String OPTION_LOG_LIST(L"log_list");
static const String OPTION_DATABASE_FILE(L"database_file");
static const String OPTION_DEBUG_LEVEL(L"debug_level");
static const String OPTION_VERBOSITY_LEVEL(L"verbose");
static const String OPTION_FLAG_VERIFY(L"verify");
static const String OPTION_ESTIMATED_WALLTIME(L"walltime");
static const String OPTION_PARAM_FLAG(L"-parameter_file");
static const String OPTION_FUNCTION_FLAG(L"-function_mode");
static const String OPTION_LIST_FLAG(L"-list");

static const String OPTION_LOG_FILE_FLAG(L"-log_file");
static const String OPTION_VERBOSITY_LEVEL_FLAG(L"-verbose");
static const String OPTION_ACCUMULATOR_FILE_FLAG(L"-accumulator_file");
static const String OPTION_ACCUMULATOR_LIST_FLAG(L"-accumulator_list");
static const String OPTION_LANGUAGE_MODEL_FLAG(L"-lm_file");
static const String OPTION_STATISTICAL_MODEL_POOL_FLAG(L"-smp_file");
static const String OPTION_LANGUAGE_MODEL_OUTPUT_FLAG(L"-lm_output_file");
static const String OPTION_STATISTICAL_MODEL_POOL_OUTPUT_FLAG(L"-smp_output_file");
static const String OPTION_CPUS_NUMBERS(L"cpus");
static const String OPTION_COMMAND_EXECUTE(L"command_to_execute");
static const String OPTION_BATCH_COMMAND(L"batch_command");
static const String OPTION_CHOOSE_CLUSTER(L"cluster_name");
static const String DEF_REMOTE_SHELL_PROTOCOL(L"rsh");
static const String DEF_BATCH_COMMAND(L"qsub");
static const String DEF_NICE_LEVEL(L"nice -19");
static const String DEF_SECURE_SHELL_PROTOCOL(L"ssh");
static const String DEF_MODE_DEFAULT(L"none");
static const String DEF_MODE_SPEED(L"speed");
static const String DEF_MODE_MEMORY(L"memory");
static const String DEF_MACHINE_MODE_CLUSTER(L"cluster");
static const String DEF_MACHINE_MODE_SERVER(L"server");
static const String DEF_CLUSTER_NAME(L"empire");

static const long DEF_SLEEP_DURATION = 10;

static const String OPTION_FUNCTION_UPDATE(L"UPDATE");
static const String OPTION_FUNCTION_ACCUMULATE(L"ACCUMULATE");
static const String DEF_RECOGNIZER_EXECUTABLE(L"$ISIP_DEVEL/bin/$ISIP_BINARY/isip_recognize");

static const Integral::DEBUG DEBUG_LEVEL_DEFAULT=Integral::NONE;
static const Integral::DEBUG VERBOSITY_LEVEL_DEFAULT=Integral::NONE;

// end of file
//
#endif
