OpendTect  6.3
hostdata.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 Bril
8  Date: Apr 2002
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "networkmod.h"
14 
15 #include "bufstringset.h"
16 #include "filepath.h"
17 #include "manobjectset.h"
18 #include "od_iosfwd.h"
19 #include "odplatform.h"
20 #include "uistring.h"
21 
22 class HostDataList;
23 class IOPar;
24 class ShareData;
25 
26 #define mRetNoneIfEmpty( bs ) \
27  if ( bs.isEmpty() ) return "_none_"; \
28  return bs;
29 
35 {
36 public:
37  HostData(const char* nm);
38  HostData(const char* nm,const HostData& localhost,
39  const OD::Platform&);
40  HostData(const HostData&);
41  virtual ~HostData();
42 
43  enum PathType { Appl, Data };
44 
45  void setHostName(const char*);
46  const char* getHostName() const;
47  void setIPAddress(const char*);
48  const char* getIPAddress() const;
49 
50  int nrAliases() const
51  { return aliases_.size(); }
52  void setAlias(const char*);
53  const char* alias( int idx ) const
54  { return aliases_.get(idx); }
55  bool isKnownAs(const char*) const;
57  void addAlias(const char*);
59  BufferString getFullDispString() const;
60 
61  void setPlatform(const OD::Platform&);
62  const OD::Platform& getPlatform() const;
63  bool isWindows() const;
64  File::Path::Style pathStyle() const;
66  const File::Path& prefixFilePath(PathType) const;
67 
68  const File::Path& getDataRoot() const;
69  void setDataRoot(const File::Path&);
70 
71  File::Path convPath( PathType pt, const File::Path&,
72  const HostData* from = 0 ) const;
73  File::Path convPath( PathType pt, const char* fn,
74  const HostData* from = 0 ) const
75  { return convPath(pt, File::Path(fn), from ); }
76 
77  static const char* localHostName();
78  void setLocalHost( const HostData& hd )
79  { localhd_ = &hd; }
80  const HostData& localHost() const
81  { return localhd_ ? *localhd_ : *this; }
82 
83  bool isOK(uiString& errmsg) const;
84 
85  void fillPar(IOPar&) const;
86  void usePar(const IOPar&);
87 
88 protected:
89  HostData(const char* nm,const OD::Platform&);
90 
97  const HostData* localhd_;
98 
99  friend class HostDataList;
100 
101  void init( const char* nm );
102 };
103 
104 
105 
113 public:
114  HostDataList(bool foredit);
115 
116  void setNiceLevel(int);
117  int niceLevel() const;
118  float priorityLevel() const;
119  void setFirstPort(int);
120  int firstPort() const;
121  void setLoginCmd(const char*);
122  const char* loginCmd() const;
123  void setUnixDataRoot(const char*);
124  const char* unixDataRoot() const;
125  void setWinDataRoot(const char*);
126  const char* winDataRoot() const;
127 
128  bool refresh(bool foredit=false);
129 
130  HostData* find( const char* nm ) { return findHost(nm); }
131  const HostData* find( const char* nm ) const { return findHost(nm); }
132 
133  void fill(BufferStringSet&,bool inclocalhost=true) const;
134  void dump(od_ostream&) const;
135 
136  const char* getBatchHostsFilename() const;
137  bool writeHostFile(const char* fnm);
138  void fillFromNetwork(); // Unix only
139  bool isOK(uiStringSet&) const;
140 
141 protected:
142 
150 
151  void handleLocal();
152  void initDataRoot();
153  bool readHostFile(const char*);
154  bool readOldHostFile(const char*);
155  HostData* findHost(const char*) const;
157 };
158 
159 #undef mRetNoneIfEmpty
#define mExpClass(module)
Definition: commondefs.h:157
BufferString unx_data_pr_
Definition: hostdata.h:149
Style
Definition: filepath.h:39
void fill(BufferStringSet &, bool inclocalhost=true) const
OD class for stream write common access to the user log file, or std::cout in batch progs...
Definition: od_ostream.h:25
const HostData * find(const char *nm) const
Definition: hostdata.h:131
int firstport_
Definition: hostdata.h:145
Definition: jobcommunic.h:22
float priorityLevel() const
const char * getBatchHostsFilename() const
const HostData & localHost() const
Definition: hostdata.h:80
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
void initDataRoot()
const char * localHostName()
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
bool init()
File::Path data_pr_
Definition: hostdata.h:96
void setLocalHost(const HostData &hd)
Definition: hostdata.h:78
const char * winDataRoot() const
bool readOldHostFile(const char *)
File::Path convPath(PathType pt, const char *fn, const HostData *from=0) const
Definition: hostdata.h:73
File pathname tools.
Definition: filepath.h:35
void setFirstPort(int)
BufferString win_appl_pr_
Definition: hostdata.h:146
Definition: uistring.h:88
Set of BufferString objects.
Definition: bufstringset.h:25
void fillFromNetwork()
const char * loginCmd() const
List of host names in the system. The first entry will be the local host.
Definition: hostdata.h:111
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
void setWinDataRoot(const char *)
BufferString logincmd_
Definition: hostdata.h:143
PathType
Definition: hostdata.h:43
const char * unixDataRoot() const
int firstPort() const
const HostData * localhd_
Definition: hostdata.h:97
HostData * findHost(const char *) const
bool writeHostFile(const char *fnm)
const char * alias(int idx) const
Definition: hostdata.h:53
BufferString batchhostsfnm_
Definition: hostdata.h:156
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
Definition: repos.h:23
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
mODTextTranslationClass(HostDataList) public void setNiceLevel(int)
Platform or Operating System.
Definition: odplatform.h:23
int nrAliases() const
Definition: hostdata.h:50
void handleLocal()
bool refresh(bool foredit=false)
void setUnixDataRoot(const char *)
bool isOK(uiStringSet &) const
int niceLevel() const
Definition: uistring.h:235
File::Path appl_pr_
Definition: hostdata.h:95
void dump(od_ostream &) const
BufferStringSet aliases_
Definition: hostdata.h:93
HostData * find(const char *nm)
Definition: hostdata.h:130
Host name and aliases.
Definition: hostdata.h:34
BufferString unx_appl_pr_
Definition: hostdata.h:147
BufferString win_data_pr_
Definition: hostdata.h:148
ObjectSet where the objects contained are owned by this set.
Definition: manobjectset.h:49
float prioritylevel_
Definition: hostdata.h:144
OD::Platform platform_
Definition: hostdata.h:94
void setLoginCmd(const char *)
BufferString hostname_
Definition: hostdata.h:91
bool readHostFile(const char *)
BufferString ipaddress_
Definition: hostdata.h:92

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