//=========================================================================
// Summary  : Test program for EdgetechFSDW
// Filename : _edgetechFSDWTest.h
// Author   : Reed Christenson
// Project  : EdgetechFSDW Driver
// Revision : 0.0
// Created  : 2002.03.21
// Modified : 2002.03.21
//=========================================================================
// Description : EdgetechFSDW
//=========================================================================

// System Includes
//#include <iostream.h>
#include <stdio.h>
#include <conio.h> // kbhit getch
#include <unistd.h> // sleep

// Framework Includes
//#include "Syslog.h"
#include "TimeIF.h"
#include "TimeP.h"  // Time::seconds(&TimeSpec)
#include "Task.h"
#include "ourTypes.h"

// EdgetechFSDW Includes
#include "EdgetechFSDWIF.h"
#include "EdgetechFSDWServer.h"

// Definitions
#define EdgetechFSDWTestName "edgetechFSDWTest"



class EdgetechFSDWTest : public Task {

 public:
    // constructor
    EdgetechFSDWTest(int argc, char **argv);
    // destructor
    ~EdgetechFSDWTest();

    // Run the test.
    virtual void runTest(int argc, char **argv);
    // Display help.
    virtual void displayHelp();
    // checkStatus
    virtual void checkStatus(DeviceIF::Status status);

 protected:

    // Test values.
    double _seconds;

    // Socket values.
    short _edgetechFSDWStatus;
    unsigned long _callbackPeriod;
    char _ipAddressString[MaxIpAddressStringSize];
    char *_ipAddressPtr;
    //unsigned short _port;
    TimeIF::TimeSpec _broadcastTime;

    // Server connection.
    EdgetechFSDWIF *_server;
    pid_t _serverPid;

    // Default response request
    Boolean  _defaultResponseRequest;
 private:
};
