#ifndef __ACCELEROMETER_THREAD_H__
#define __ACCELEROMETER_THREAD_H__

#include <stdint.h>
#include "threads.h"
#include "socket.h"

class AccelerometerSensorThread : public Thread {

public:

	AccelerometerSensorThread();

	~AccelerometerSensorThread(void) {
		delete m_AccelerometerSensorSocket;
	}

	void Connect(string& ipAddress, uint16_t portNumber);

protected:
	virtual void* Run(void* parameter);

private:
	typedef enum { BigEndian, LittleEndian } Endian;

	void		collectAcceleration(void);
	void		determineEndianness(void);
	float		extractFloat(char *bytes);

	tcp_socket*	m_AccelerometerSensorSocket;
	uint16_t	m_AccelerometerSensorPortNumber;
	Endian		m_CPU_ByteOrder;
};


#endif //__ACCELEROMETER_THREAD_H__
