
#include <list>
#include "struktury.h"

using namespace std;

// ------------------------------------------------------------------------------
// Proměnné pro jednotlivá nastavení programu - ukladaji se do souboru config.cfg
// ------------------------------------------------------------------------------

// NASTAVENI PRENOSU
extern bool SAVE_TRANSFER;          // Zabezpecený přenos
extern UnicodeString DEST_IP;		// Cílová IP adresa

// UDP PARAMETRY
extern int UDP_PORT;           		// komunikační port
extern int UDP_SIZE;                // Maximalni velikost UDP paketu
extern int UDP_DLY;                 // Zpoždění mez pakety

// APP output
extern int OUTBUFFER_SIZE;
extern int OUTBLOCK_SIZE;

// FRONTA
extern int QUEUE_SIZE;    			 // Velikost příjmací fronty

extern bool TEXT_FLAG;      		// Ulozit jako textovy soubor?

// ----------------------------------------------------------------
// Globální fronty a proměnné pro komunikaci s vlákny a formuláři
// ----------------------------------------------------------------

// state of THREADS
extern bool saving_file;
extern bool sending_file;
extern bool listening_on;

extern UnicodeString SAVE_PATH;			// cesta a název souboru k odeslaní

extern list <paket> fronta;				// fronta pro ulozeni dat
extern list <send_packet> out_queue;	// fronta pro odeslani dat

extern unsigned short int GLOBAL_ID_TX;	// ID pro přenos
extern unsigned short int GLOBAL_ID_RX;	// ID pro přenos

extern bool CONNECTED;                  // Priznak pripojeni

extern TCriticalSection *locker;       // kriticka sekce pro vlakna

extern bool try_connect;				// Pokus o pripojeni ze strany PC
extern bool try_close;                  //
// ----------------
// Globální funkce
// ----------------

void defvalue() {
	// 1. stranka nastaveni
	SAVE_TRANSFER = false;
	DEST_IP = "10.20.2.213";

	// 2. stranka nastaveni
	UDP_PORT = 32222;
	UDP_DLY = 0;
	UDP_SIZE = 850;

	// 3. Stranka nastavení
	OUTBUFFER_SIZE = 10;
	OUTBLOCK_SIZE = 5;

	// 4.
	QUEUE_SIZE = 10000;
	TEXT_FLAG = false;
}
