#!/usr/bin/env ruby

## The following variables will ALWAYS be replaced:
## ${PCAP_FILE} - The pcap datafile
## ${PCAP_BASE} - The basename of the pcap datafile
## ${MODULE_DIR} - The base module directory (modules)
## ${MODULE_NAME} - The base name (without the .module) of the module
## ${OUTPUT_DIR} - The base output directory

## Require ruby files
require 'readline'
include Readline

## Require commands
require 'lib/command_manager'
require 'lib/commands'

## Required for tab completion
$tabstrings = CommandManager.get_commands_as_array()
$tabstrings.push("PCAP_FILE")
$tabstrings.push("PCAP_BASE")
$tabstrings.push("OUTPUT_DIR")
Readline.completion_proc = lambda{|s| $tabstrings.find_all{|elm| elm =~ /#{s}/}}

## Require nsm console specific files
require 'lib/logging'
require 'lib/history'
require 'lib/nsm_module'
require 'lib/nsm_category'
require 'lib/nsm_helper'
require 'lib/nsm_console'
require 'lib/encodelib'
require 'lib/pcaplib'
################################
## TALK TO SCHOLAR ABOUT THIS ##
################################
require 'lib/pcapparser'      ##
################################

## Default module directory
$moduledir = "modules"
## Default output directory
$outputdir = "${PCAP_BASE}-output"

$modules = []
$categories = []
$datafile = ""
$basefile = ""

###################
## Begin program ##
###################

nsmc = NSM_Console.new(ARGV)
nsmc.run()
