KizarmProbe.
 Vše Třídy Soubory Funkce Proměnné Výčty Hodnoty výčtu Definice maker Skupiny Stránky
mirror.h
Zobrazit dokumentaci tohoto souboru.
1 #ifndef MIRROR_H
2 #define MIRROR_H
3 
4 #include <stdio.h>
5 #include "baselayer.h"
6 
25 class TwoTop : public BaseLayer {
26  public:
28  TwoTop () : BaseLayer () {};
30  void setX (BaseLayer* bl) { x = bl; };
32  uint32_t Up (char* data, uint32_t len) {
33  debug (" TT.Up %d\r\n", len);
34  if (!x) return 0;
35  // To, co přišlo zespoda, pošlu druhou instancí zase dolů
36  return x->Down (data, len);
37  };
38  private:
40  BaseLayer* x;
41 };
42 
43 class Mirror {
44  public:
46  Mirror () : L(), R() {
47  L.setX (&R); // Překřížení
48  R.setX (&L);
49  };
56  void operator += (BaseLayer& bl) {
57  if (!L.getDown()) { L += bl; return; };
58  if (!R.getDown()) { R += bl; return; };
59  };
60  private:
61  TwoTop L, R;
62 };
63 
64 #endif // MIRROR_H
Vlastní obraceč.
Definition: mirror.h:25
Mirror()
Konstruktor.
Definition: mirror.h:46
virtual uint32_t Down(char *data, uint32_t len)
Definition: baselayer.h:53
TwoTop()
Konstruktor.
Definition: mirror.h:28
Bázová třída pro stack trochu obecnějšího komunikačního protokolu.
void setX(BaseLayer *bl)
Setter pro x.
Definition: mirror.h:30
uint32_t Up(char *data, uint32_t len)
Přetížení metody Up, nic jiného není potřeba.
Definition: mirror.h:32
void operator+=(BaseLayer &bl)
Definition: mirror.h:56
[BaseLayer example]
Definition: baselayer.h:31
BaseLayer * getDown(void) const
Definition: baselayer.h:69
Obraceč datového toku má 2 třídy.
Definition: mirror.h:43