OpendTect  6.3
ioobjctxt.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: A.H. Bril
8  Date: Aug 1996 / Sep 2016
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "generalmod.h"
14 #include "namedobj.h"
15 #include "dbkey.h"
16 #include "enums.h"
17 #include "iopar.h"
18 
19 class IOObj;
20 class IOStream;
21 class CtxtIOObj;
22 class Translator;
23 class TranslatorGroup;
24 
28 {
29 public:
30 
31  IOObjSelConstraints();
32  IOObjSelConstraints(const IOObjSelConstraints&);
33  ~IOObjSelConstraints();
34  IOObjSelConstraints& operator =(const IOObjSelConstraints&);
35 
38 
41 
42  bool isGood(const IOObj&,bool forread=true) const;
43  void clear();
44 
45  static bool isAllowedTranslator(const char* tnm,const char* allowd);
46 
47 };
48 
49 
60 {
61 public:
62 
65 
66  enum StdSelType { Seis=0, Surf, Loc, Feat, WllInf, NLA, Misc, Attr, Mdl,
67  Geom, None };
69 
71  const char* prefname=0);
72  IOObjContext(const IOObjContext&);
73 
74  IOObjContext& operator =(const IOObjContext&);
75 
79  bool multi_;
80 
82  bool forread_;
83  DBDirID dirid_;
86 
87  bool validIOObj(const IOObj&) const;
88 
89  struct StdDirData
90  {
91  StdDirData(DBGroupNrType,const char*,const char*);
92 
93  DBDirID id_;
94  const char* dirnm_;
95  const char* desc_;
97  };
98 
99  static int totalNrStdDirs();
100  static const StdDirData* getStdDirData(StdSelType);
101  static BufferString getDataDirName(StdSelType);
103 
104  FixedString objectTypeName() const;
105  FixedString translatorGroupName() const;
106  inline bool hasStdSelDirID() const { return stdseltype_ != None; }
107  DBDirID getSelDirID() const;
108  IOStream* crDefaultWriteObj(const Translator&,
109  const DBKey&) const;
110  void fillTrGroup() const;
113  void fixTranslator( const char* trusrnm )
114  { deftransl_ = toselect_.allowtransls_ = trusrnm; }
115 
116  mDeprecated StdSelType& stdseltype = stdseltype_;
117  mDeprecated const TranslatorGroup*& trgroup = trgroup_;
118  mDeprecated bool& multi = multi_;
119  mDeprecated bool& forread = forread_;
120  mDeprecated BufferString& deftransl = deftransl_;
121  mDeprecated IOObjSelConstraints& toselect = toselect_;
122  mDeprecated DBDirID getSelKey() const
123  { return getSelDirID(); }
124 };
#define mExpClass(module)
Definition: commondefs.h:157
Seismics.
Definition: segydirectdef.h:20
Definition: ioobj.h:57
const TranslatorGroup * trgroup_
Mandatory, must never be 0.
Definition: ioobjctxt.h:78
Definition: iostrm.h:24
OD::String that holds an existing text string.
Definition: fixedstring.h:27
mDeprecated DBDirID getSelKey() const
Definition: ioobjctxt.h:122
Definition: ioobjctxt.h:89
void clear(std::ios &)
DBKey::GroupNrType DBGroupNrType
Definition: ioobjctxt.h:63
DBKey::DirID DBDirID
Definition: ioobjctxt.h:64
GroupID DirID
Definition: dbkey.h:40
Holds an IOObjCtxt plus a pointer to an IOObj and/or an IOPar.
Definition: ctxtioobj.h:24
#define mDeclareEnumUtils(enm)
Some utilities surrounding the often needed enum <-> string table.
Definition: enums.h:188
FixedString None()
Definition: keystrs.h:90
Holds constraints on IOObj selection.
Definition: ioobjctxt.h:27
DBDirID id_
Definition: ioobjctxt.h:93
IOObjSelConstraints toselect_
Definition: ioobjctxt.h:85
Group of Translators. Has a static factory.
Definition: transl.h:54
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
bool allownonuserselectable_
allow &#39;alien&#39; like SEG-Y
Definition: ioobjctxt.h:40
StdSelType
Definition: ioobjctxt.h:66
void fixTranslator(const char *trusrnm)
Definition: ioobjctxt.h:113
const char * dirnm_
Definition: ioobjctxt.h:94
I/O Interpreter class for a certain object type.
Definition: transl.h:122
bool forread_
this selection only
Definition: ioobjctxt.h:82
const char * desc_
Can be converted to StdSelType.
Definition: ioobjctxt.h:95
int GroupNrType
Definition: groupedid.h:38
#define mDeprecated
Definition: plfdefs.h:213
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
BufferString allowtransls_
FileMultiString of glob expressions.
Definition: ioobjctxt.h:39
bool hasStdSelDirID() const
Definition: ioobjctxt.h:106
IOPar & require_
Definition: ioobjctxt.h:36
object with a name.
Definition: namedobj.h:20
Definition: ioobjctxt.h:66
StdSelType stdseltype_
intrinsics
Definition: ioobjctxt.h:77
Full key to any object in the OpendTect data store.
Definition: dbkey.h:36
Definition: commontypes.h:55
IOPar & dontallow_
Definition: ioobjctxt.h:37
bool multi_
If true, multi allowed.
Definition: ioobjctxt.h:79
Holds the context for selecting and/or creating IOObjs.
Definition: ioobjctxt.h:59
BufferString deftransl_
Translator to use for new entry.
Definition: ioobjctxt.h:84
DBDirID dirid_
If set, overrules the &#39;standard&#39;.
Definition: ioobjctxt.h:83

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