Free Electron
JsonStream.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2021 Free Electron Organization
2  Any use of this software requires a license. If a valid license
3  was not distributed with this file, visit freeelectron.org. */
4 
5 /** @file */
6 
7 #ifndef __json_JsonStream_h__
8 #define __json_JsonStream_h__
9 namespace fe
10 {
11 namespace ext
12 {
13 namespace data
14 {
15 
16 class FE_DL_EXPORT JsonStream : virtual public fe::data::StreamI
17 {
18  public:
19  JsonStream(void);
20 virtual ~JsonStream(void);
21 virtual void bind(sp<Scope> spScope);
22 virtual void output(std::ostream &ostrm, sp<RecordGroup> spRG);
23 virtual sp<RecordGroup> input(std::istream &istrm);
24 const String& name(void) const { return m_name; }
25  private:
26  sp<Scope> m_spScope;
27  sp<fe::data::Writer> m_spWriter;
28  sp<fe::data::Reader> m_spReader;
29  String m_name;
30 };
31 
32 
33 } /* namespace ext */
34 } /* namespace fe */
35 } /* namespace */
36 
37 #endif /* __json_JsonStream_h__ */
38 
kernel
Definition: namespace.dox:3