//=========================================================================
// Summary  : Main file for EdgetechFSDW Server
// Filename : _edgetechFSDWServer.cc
// Author   : Reed Christenson
// Project  : EdgetechFSDW Driver
// Revision : 0.0
// Created  : 2002.03.21
// Modified : 2002.03.21
//=========================================================================
// Description : EdgetechFSDW Server
//=========================================================================

#include "EdgetechFSDWServer.h"

EdgetechFSDWServer *edgetechFSDWServer;

void closeHandler(int i)
{
    Syslog::write("edgetechFSDWServer -- deleting server object");
    delete edgetechFSDWServer;
    exit(1);
}

int main( int argc, char **argv )
{
    char configFileName[256];
    strcpy(configFileName, System::configurationFile("edgetechFSDW.cfg"));

    Syslog::write("Launching EdgetechFSDWServer...");
    // Set task priority.
    if (System::setTaskPriority(CriticalServerPriority) == -1)
	return(-1);

    try 
    {
	Syslog::write("Setting name...");
	//VehicleConfigurator::setName(EdgetechFSDWServerName);
	Syslog::write("Creating server...");
	edgetechFSDWServer = new EdgetechFSDWServer(configFileName);
	Syslog::write("Run server...");
	edgetechFSDWServer->run();
    }
    catch( Exception e )
    {
	Syslog::write("edgetechFSDWServer -- Caught exception: %s\n", e.msg );
    }
    catch( ... ) 
    {
	Syslog::write("edgetechFSDWServer -- Caught exception!\n");
    }

    Syslog::write("edgetechFSDWServer -- deleting server object");
    delete edgetechFSDWServer;

    return(0);
}
