#ifndef _CLIENTINFO_HH_ #define _CLIENTINFO_HH_ #include #include #include #include #include "guinumo.hh" #include "point.hh" using namespace std; #define CLIENT_DEFAULT_PORT 7778 #define CLIENT_DEFAULT_IP "127.0.0.1" #define CLIENT_DEFAULT_ANTENNA_GAIN 2 // Good default value #define VITERBI_N 5 #define VITERBI_K 8 class ClientInfo { public : typedef boost::multi_array float_array ; // On utilise boost::multi_array pour viterbi_V. typedef float_array::index float_index ; protected: string client_ip; float antenna_gain; int client_listen_port; vector viterbi_Ecurrent; // Last vector vector viterbi_Eprevious; // Previous vector // float viterbi_distances[5]; float_array viterbi_V ; unsigned int viterbi_iteration ; // Nombre d'ensembles d'historique qu'on a déjà passés public: ClientInfo(const string &ip = CLIENT_DEFAULT_IP, const int &port = CLIENT_DEFAULT_PORT, const float &antg = CLIENT_DEFAULT_ANTENNA_GAIN); ClientInfo(const ClientInfo &c) ; ~ClientInfo(); ClientInfo operator=(const ClientInfo &c) ; bool operator==(const ClientInfo &c) ; float getAntennaGain()const { return antenna_gain; } ; vector& getRef_viterbi_Ecurrent() { return viterbi_Ecurrent; } ; vector& getRef_viterbi_Eprevious() { return viterbi_Eprevious; } ; unsigned int& getRef_viterbi_iteration() { return viterbi_iteration ; } ; float_array& getRef_viterbi_V() { return viterbi_V; } ; void print_viterbi_V() const ; }; #endif // _CLIENTINFO_HH_