diff -r 000000000000 -r 18317e52d52b c++/POSIXoveFronty/Fronta/fronta.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/c++/POSIXoveFronty/Fronta/fronta.h Tue Apr 07 23:49:02 2009 +0200 @@ -0,0 +1,42 @@ +#ifndef _FRONTA_H +#define _FRONTA_H + +#include +#include + +/** + * Objektový obal pro POSIXovou frontu (mq). + */ +class Fronta { +public: + /** Vytvoří frontu (zapisovací umí i číst). */ + Fronta(char*, bool, bool); + Fronta(); + /** Přidá zprávu do fronty. */ + int odesliZpravu(char*); + /** Načte jednu zprávu z fronty. V případě chyby vrací NULL */ + char* prijmiZpravu(); + /** Zavře frontu. true = zruší frontu.*/ + void zavriFrontu(bool); + +private: + char* nazev; + bool prijimaci; + bool odesilaci; + bool otevrena; + mqd_t fronta; + + /** Vlastnosti fronty */ + struct mq_attr mq_vlastnosti; + + /** Maximální počet zpráv ve frontě (potom začne blokovat) */ + static const int POCET_ZPRAV_VE_FRONTE = 5; + + /** Délka jedné zprávy ve frontě */ + static const int DELKA_ZPRAVY = 100; + + +}; + +#endif /* _FRONTA_H */ +