OpenDaVINCI  4.15.3
StringProtocol.h
Go to the documentation of this file.
1 
20 #ifndef OPENDAVINCI_CORE_IO_PROTOCOL_STRINGPROTOCOL_H_
21 #define OPENDAVINCI_CORE_IO_PROTOCOL_STRINGPROTOCOL_H_
22 
23 #include <sstream>
24 #include <string>
25 
30 
31 namespace odcore { namespace io { class StringListener; } }
32 
33 namespace odcore {
34  namespace io {
35  namespace protocol {
36 
37  using namespace std;
38 
47  private:
54 
60  StringProtocol& operator=(const StringProtocol &);
61 
62  public:
67 
68  virtual ~StringProtocol();
69 
79  void send(const string &data);
80 
87  void setStringListener(StringListener *listener);
88 
89  virtual void nextString(const string &s);
90 
91  private:
92  bool hasCompleteData();
93 
98  void invokeStringListener(const string &data);
99 
100  odcore::base::Mutex m_stringListenerMutex;
101  StringListener *m_stringListener;
102 
103  odcore::base::Mutex m_partialDataMutex;
104  stringstream m_partialData;
105  };
106 
107  }
108  }
109 }
110 
111 #endif /* OPENDAVINCI_CORE_IO_PROTOCOL_STRINGPROTOCOL_H_ */
112 
Definition: base/Mutex.h:49
Definition: StringProtocol.h:46
#define OPENDAVINCI_API
Definition: opendavinci.h:67
Definition: StringListener.h:36
Definition: StringObserver.h:34
Definition: AbstractProtocol.h:40