#include <stdint.h>
#include <signal.h>
#include <sys/time.h>
#include <string.h>
#include <pthread.h>
#include <stdlib.h>
#include <iostream>
#include "control_thread.h"
#include "user_interface_thread.h"

using namespace std;

int main(int argc, char** argv)
{
	if (argc != 4) {
		cout << "usage: labjack_test <Telnet Port #> <IP Address of Labjack> <IP address of Moxa>" << endl;
		exit(1);
	}

	uint16_t				telnetPortNumber = atoi(argv[1]);
	sigset_t				signalsToBlock;
	ControlThread			espProfiler;
	UserInterfaceThread 	userInterface(telnetPortNumber, 4001, 4002, espProfiler);

	sigemptyset(&signalsToBlock);
	sigaddset(&signalsToBlock,SIGALRM);
	pthread_sigmask(SIG_BLOCK,&signalsToBlock, NULL);
	espProfiler.Start((void *) argv[2]);
	userInterface.Start((void*) argv[3]);
	userInterface.Wait();
	cout << "That's All Folks" << endl;
}

