shared_file_stream.hpp
Go to the documentation of this file.
1 
8 /*****************************************************************************
9 ** Ifdefs
10 *****************************************************************************/
11 
12 #ifndef ECL_STREAMS_SHARED_FILE_STREAMS_HPP_
13 #define ECL_STREAMS_SHARED_FILE_STREAMS_HPP_
14 
15 /*****************************************************************************
16 ** Includes
17 *****************************************************************************/
18 
19 #include <string>
20 #include <ecl/config/macros.hpp>
21 #include <ecl/exceptions/standard_exception.hpp>
22 #include <ecl/devices/shared_file.hpp>
23 #include "text_stream.hpp"
24 #include "macros.hpp"
25 
26 /*****************************************************************************
27 ** Namespaces
28 *****************************************************************************/
29 
30 namespace ecl {
31 
32 /*****************************************************************************
33 ** Interfaces [SharedFileStream]
34 *****************************************************************************/
43 class ecl_streams_PUBLIC SharedFileStream : public TextStream<SharedFile> {
44 public:
51  SharedFileStream() {};
63  SharedFileStream(const std::string &file_name, const WriteMode &mode = New) ecl_throw_decl(StandardException) {
64  ecl_try {
65  if ( !this->device().open(file_name, mode) ) {
66  error = this->device().error();
67  }
68  } ecl_catch(StandardException &e) {
69  ecl_throw(StandardException(LOC,e));
70  }
71  }
72  virtual ~SharedFileStream() {};
73 };
74 
75 } // namespace ecl
76 
77 
78 #endif /* ECL_STREAMS_SHARED_FILE_STREAMS_HPP_ */
WriteMode
#define ecl_throw(exception)
Standard ecl throw exception throw.
#define ecl_streams_PUBLIC
#define ecl_throw_decl(exception)
Standard ecl throw exception declaration.
#define LOC
Stringify the line of code you are at.
#define ecl_catch(exception)
The catch part of a try-catch macro matching ecl_throw calls.
#define ecl_try
The try part of a try-catch macro matching ecl_throw calls.


xbot_node
Author(s): Roc, wangpeng@droid.ac.cn
autogenerated on Sat Oct 10 2020 03:28:13