12 Fronta::Fronta(char* nazev, bool prijimaci, bool odesilaci) {
14 this->prijimaci = prijimaci;
15 this->odesilaci = odesilaci;
17 /** Nastavíme vlastnosti fronty */
18 mq_vlastnosti.mq_maxmsg = POCET_ZPRAV_VE_FRONTE;
19 mq_vlastnosti.mq_msgsize = DELKA_ZPRAVY;
21 /** Vytvoříme odesílací (obojetnou) nebo (pouze) čtecí frontu */
23 fronta = mq_open(nazev, O_RDWR | O_CREAT, S_IRWXU | S_IRWXG, &mq_vlastnosti);
25 } else if (prijimaci) {
26 fronta = mq_open(nazev, O_RDONLY);
33 int Fronta::odesliZpravu(char* zprava) {
34 if (otevrena && odesilaci) {
35 return mq_send(fronta, zprava, strlen(zprava) + 1, 0);
41 char* Fronta::prijmiZpravu() {
42 if (otevrena && prijimaci) {
43 char zprava[DELKA_ZPRAVY + 1];
44 zprava[DELKA_ZPRAVY] = '\0';
45 if (mq_receive(fronta, zprava, DELKA_ZPRAVY, NULL) > 0) {
55 void Fronta::zavriFrontu(bool zrusit) {