OpendTect  6.6
od_stream.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: Bert
8  Date: Sep 2013
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "basicmod.h"
15 
16 #include "bufstring.h"
17 #include "strmdata.h"
18 #include "uistring.h"
19 #include "od_iosfwd.h"
20 #include <iosfwd>
21 
22 class FilePath;
23 namespace OS { class MachineCommand; }
24 
25 
26 
57 public:
58 
60  typedef od_stream_Pos Pos;
61 
62  virtual ~od_stream();
63 
64  bool isOK() const;
65  bool isBad() const;
66 
67  uiString errMsg() const;
69  bool forRead() const;
70  bool forWrite() const;
71  bool isLocal() const;
72 
73  enum Ref { Abs, Rel, End };
74  Pos position() const;
75 
76  mDeprecated ("Use setReadPosition/setWritePosition")
77  void setPosition(Pos,Ref r=Abs);
78 
79  const char* fileName() const;
80  void setFileName(const char*);
81 
82  inline StreamData& streamData() { return sd_; }
83  inline const StreamData& streamData() const { return sd_; }
84 
85  void setNoClose( bool yn=true ) { noclose_=yn; }
86  void close();
87 
88  void addErrMsgTo(BufferString&) const;
89  void addErrMsgTo(uiString&) const;
90  void addErrMsgTo(uiRetVal&) const;
91 
92  mDeprecated ("Use the one with uiString&")
93  static od_stream* create(const char*,bool forread,
94  BufferString& errmsg);
96  static od_stream* create(const char*,bool forread,
97  uiString& errmsg);
99  static const char* sStdIO();
101  static const char* sStdErr();
103 
104 protected:
105 
107  od_stream(const char*,bool,bool editmode=false);
108  od_stream(const FilePath&,bool,bool editmode=false);
109  od_stream(const OS::MachineCommand&,const char* workdir,
110  bool editmode=false);
111  od_stream(std::ostream*);
112  od_stream(std::ostream&);
113  od_stream(std::istream*);
114  od_stream(std::istream&);
115  od_stream& operator=(const od_stream&) = delete;
116 
118  bool mine_ = true;
119  bool noclose_ = false;
120  mutable uiString errmsg_;
121 
122  BufferString noStdStreamPErrMsg() const;
123 
124 private:
125 
126  bool setFromCommand(const OS::MachineCommand&,
127  const char* workdir,bool editmode);
128 
129 };
130 
od_stream::forRead
bool forRead() const
od_stream::isLocal
bool isLocal() const
uistring.h
Pos
Position.
Definition: commontypes.h:78
StreamData
Holds data to use and close an iostream. Usually created by StreamProvider.
Definition: strmdata.h:27
od_stream::Count
od_stream_Count Count
Definition: od_stream.h:56
od_stream::Pos
od_stream_Pos Pos
Definition: od_stream.h:60
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
FilePath
File pathname tools.
Definition: filepath.h:34
od_stream::~od_stream
virtual ~od_stream()
od_stream::position
Pos position() const
od_stream::Rel
@ Rel
Definition: od_stream.h:73
uiRetVal
Definition: uistringset.h:105
od_stream::Ref
Ref
Definition: od_stream.h:73
Math::Abs
unsigned int Abs(unsigned int i)
Definition: math2.h:79
od_stream_Pos
od_int64 od_stream_Pos
Definition: od_iosfwd.h:20
mODTextTranslationClass
#define mODTextTranslationClass(clss)
Definition: uistring.h:40
bufstring.h
od_stream::forWrite
bool forWrite() const
od_stream::addErrMsgTo
void addErrMsgTo(BufferString &) const
od_stream::close
void close()
mDeprecated
#define mDeprecated(msg)
Definition: plfdefs.h:215
od_stream::addErrMsgTo
void addErrMsgTo(uiRetVal &) const
od_stream::errMsg
uiString errMsg() const
see also below.
OS
Definition: od_stream.h:23
od_stream
OD base class for stream read/write.
Definition: od_stream.h:56
od_stream::isBad
bool isBad() const
eof is not Bad
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
od_stream::isOK
bool isOK() const
eof is not OK
strmdata.h
od_stream::addErrMsgTo
void addErrMsgTo(uiString &) const
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
std
Definition: fixedstreambuf.h:20
od_iosfwd.h
od_stream_Count
od_uint64 od_stream_Count
Definition: od_iosfwd.h:17
MPE::errmsg_
BufferString errmsg_
Definition: horizontracker.h:118
OS::MachineCommand
Encapsulates an actual command to execute + the machine to run it on.
Definition: oscommand.h:94
od_stream::streamData
const StreamData & streamData() const
Definition: od_stream.h:83
create
static uiHor3DInterpol * create(uiParent *)
od_stream::setNoClose
void setNoClose(bool yn=true)
Definition: od_stream.h:85
private
#define private
Definition: winstreambuf.h:13

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2021