c++/POSIXoveFronty/Fronta/fronta.h
author František Kučera <franta-hg@frantovo.cz>
Tue, 07 Apr 2009 01:47:16 +0200
changeset 7 cd5d8916d983
parent 6 617fef4676b9
child 11 481514f85b3a
permissions -rw-r--r--
Přidání barevného výstupu – kódy pro VT100, TODO: udělat funkci pro barevný výstup / použít ncurses
http://www.gnu.org/software/ncurses/ncurses.html
     1 #ifndef _FRONTA_H
     2 #define	_FRONTA_H
     3 
     4 #include <string.h>
     5 #include <mqueue.h>
     6 
     7 /**
     8  * Objektový obal pro POSIXovou frontu (mq).
     9  */
    10 class Fronta {
    11 public:
    12     /** Vytvoří frontu (zapisovací umí i číst). */
    13     Fronta(char*, bool, bool);
    14     Fronta();
    15     /** Přidá zprávu do fronty. */
    16     int odesliZpravu(char*);
    17     /** Načte jednu zprávu z fronty. V případě chyby vrací NULL */
    18     char* prijmiZpravu();
    19     /** Zavře frontu. true = zruší frontu.*/
    20     void zavriFrontu(bool);
    21 
    22 private:
    23     char* nazev;
    24     bool prijimaci;
    25     bool odesilaci;
    26     bool otevrena;
    27     mqd_t fronta;
    28 
    29     /** Vlastnosti fronty */
    30     struct mq_attr mq_vlastnosti;
    31 
    32     /** Maximální počet zpráv ve frontě (potom začne blokovat) */
    33     static const int POCET_ZPRAV_VE_FRONTE = 5;
    34 
    35     /** Délka jedné zprávy ve frontě */
    36     static const int DELKA_ZPRAVY = 100;
    37 
    38 
    39 };
    40 
    41 #endif	/* _FRONTA_H */
    42