1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/c++/POSIXoveFronty/Fronta/fronta.h Tue Apr 07 13:09:28 2009 +0200
1.3 @@ -0,0 +1,42 @@
1.4 +#ifndef _FRONTA_H
1.5 +#define _FRONTA_H
1.6 +
1.7 +#include <string.h>
1.8 +#include <mqueue.h>
1.9 +
1.10 +/**
1.11 + * Objektový obal pro POSIXovou frontu (mq).
1.12 + */
1.13 +class Fronta {
1.14 +public:
1.15 + /** Vytvoří frontu (zapisovací umí i číst). */
1.16 + Fronta(char*, bool, bool);
1.17 + Fronta();
1.18 + /** Přidá zprávu do fronty. */
1.19 + int odesliZpravu(char*);
1.20 + /** Načte jednu zprávu z fronty. V případě chyby vrací NULL */
1.21 + char* prijmiZpravu();
1.22 + /** Zavře frontu. true = zruší frontu.*/
1.23 + void zavriFrontu(bool);
1.24 +
1.25 +private:
1.26 + char* nazev;
1.27 + bool prijimaci;
1.28 + bool odesilaci;
1.29 + bool otevrena;
1.30 + mqd_t fronta;
1.31 +
1.32 + /** Vlastnosti fronty */
1.33 + struct mq_attr mq_vlastnosti;
1.34 +
1.35 + /** Maximální počet zpráv ve frontě (potom začne blokovat) */
1.36 + static const int POCET_ZPRAV_VE_FRONTE = 5;
1.37 +
1.38 + /** Délka jedné zprávy ve frontě */
1.39 + static const int DELKA_ZPRAVY = 100;
1.40 +
1.41 +
1.42 +};
1.43 +
1.44 +#endif /* _FRONTA_H */
1.45 +