OpendTect  6.6
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  bool isStaticIP() const;
46  void setHostName(const char*);
47  const char* getHostName() const;
48  void setIPAddress(const char*);
49  const char* getIPAddress() const;
50 
51  int nrAliases() const
52  { return aliases_.size(); }
53  void setAlias(const char*);
54  const char* alias( int idx ) const
55  { return aliases_.get(idx); }
56  bool isKnownAs(const char*) const;
58  void addAlias(const char*);
61 
62  void setPlatform(const OD::Platform&);
63  const OD::Platform& getPlatform() const;
64  bool isWindows() const;
68 
69  const FilePath& getDataRoot() const;
70  void setDataRoot(const FilePath&);
71 
73  const HostData* from = 0 ) const;
74  FilePath convPath( PathType pt, const char* fn,
75  const HostData* from = 0 ) const
76  { return convPath(pt, FilePath(fn), from ); }
77 
78  static const char* localHostName();
80 
81  void setLocalHost( const HostData& hd )
82  { localhd_ = &hd; }
83  const HostData& localHost() const
84  { return localhd_ ? *localhd_ : *this; }
85 
86  bool isOK(uiString& errmsg) const;
87  static bool isValidIPAddress(const char*);
88 
89  void fillPar(IOPar&) const;
90  void usePar(const IOPar&);
91 
92 protected:
93  HostData(const char* nm,const OD::Platform&);
94 
95  bool staticip_() const;
103 
104  friend class HostDataList;
105 
106  void init( const char* nm );
107 };
108 
109 
110 
118 public:
119  HostDataList(bool foredit);
120 
121  void setNiceLevel(int);
122  int niceLevel() const;
123  void setFirstPort(int);
124  int firstPort() const;
125  void setLoginCmd(const char*);
126  const char* loginCmd() const;
127  void setUnixDataRoot(const char*);
128  const char* unixDataRoot() const;
129  void setWinDataRoot(const char*);
130  const char* winDataRoot() const;
131 
132  bool refresh(bool foredit=false);
133 
134  HostData* find( const char* nm ) { return findHost(nm); }
135  const HostData* find( const char* nm ) const { return findHost(nm); }
136 
137  void fill(BufferStringSet&,bool inclocalhost=true) const;
138  void dump(od_ostream&) const;
139 
140  const char* getBatchHostsFilename() const;
141  bool writeHostFile(const char* fnm);
142  void fillFromNetwork(); // Unix only
143  bool isOK(uiStringSet&) const;
144 
145 protected:
146 
148  int nicelvl_;
154 
155  void handleLocal();
156  void initDataRoot();
157  bool readHostFile(const char*);
158  bool readOldHostFile(const char*);
159  HostData* findHost(const char*) const;
161 };
162 
163 #undef mRetNoneIfEmpty
164 
HostData::isWindows
bool isWindows() const
HostDataList::unx_appl_pr_
BufferString unx_appl_pr_
Definition: hostdata.h:151
HostDataList::win_data_pr_
BufferString win_data_pr_
Definition: hostdata.h:152
HostDataList::logincmd_
BufferString logincmd_
Definition: hostdata.h:147
HostData::setLocalHost
void setLocalHost(const HostData &hd)
Definition: hostdata.h:81
HostData::getFullDispString
BufferString getFullDispString() const
FilePath::Style
Style
Definition: filepath.h:36
HostData::setAlias
void setAlias(const char *)
HostData::alias
const char * alias(int idx) const
Definition: hostdata.h:54
uistring.h
HostData::localHostName
static const char * localHostName()
shortcut to GetLocalHostName()
HostDataList
List of host names in the system. The first entry will be the local host.
Definition: hostdata.h:117
HostDataList::setFirstPort
void setFirstPort(int)
HostDataList::handleLocal
void handleLocal()
HostDataList::win_appl_pr_
BufferString win_appl_pr_
Definition: hostdata.h:150
uiStringSet
Definition: uistringset.h:23
HostData::getPlatform
const OD::Platform & getPlatform() const
OD::Platform
Platform or Operating System.
Definition: odplatform.h:25
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
HostDataList::refresh
bool refresh(bool foredit=false)
HostDataList::nicelvl_
int nicelvl_
Definition: hostdata.h:148
HostData
Host name and aliases.
Definition: hostdata.h:35
HostDataList::getBatchHostsFilename
const char * getBatchHostsFilename() const
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
HostData::isValidIPAddress
static bool isValidIPAddress(const char *)
FilePath
File pathname tools.
Definition: filepath.h:34
HostDataList::setWinDataRoot
void setWinDataRoot(const char *)
Network
Definition: jobcommunic.h:22
HostData::init
void init(const char *nm)
HostData::HostData
HostData(const HostData &)
HostData::data_pr_
FilePath data_pr_
Definition: hostdata.h:101
Repos::Data
@ Data
Definition: repos.h:24
HostDataList::dump
void dump(od_ostream &) const
HostData::isKnownAs
bool isKnownAs(const char *) const
true if name or an alias matches
mODTextTranslationClass
#define mODTextTranslationClass(clss)
Definition: uistring.h:40
HostData::localHost
const HostData & localHost() const
Definition: hostdata.h:83
HostDataList::batchhostsfnm_
BufferString batchhostsfnm_
Definition: hostdata.h:160
HostDataList::readOldHostFile
bool readOldHostFile(const char *)
odplatform.h
HostDataList::loginCmd
const char * loginCmd() const
HostData::prefixFilePath
const FilePath & prefixFilePath(PathType) const
As is on remote host.
ManagedObjectSet< HostData >
HostDataList::setLoginCmd
void setLoginCmd(const char *)
HostData::setIPAddress
void setIPAddress(const char *)
HostData::getDataRoot
const FilePath & getDataRoot() const
HostDataList::find
const HostData * find(const char *nm) const
Definition: hostdata.h:135
HostDataList::firstPort
int firstPort() const
HostData::~HostData
virtual ~HostData()
HostData::localhd_
const HostData * localhd_
Definition: hostdata.h:102
HostData::nrAliases
int nrAliases() const
Definition: hostdata.h:51
HostDataList::setUnixDataRoot
void setUnixDataRoot(const char *)
HostData::HostData
HostData(const char *nm, const OD::Platform &)
HostData::HostData
HostData(const char *nm, const HostData &localhost, const OD::Platform &)
HostData::HostData
HostData(const char *nm)
HostDataList::setNiceLevel
mODTextTranslationClass(HostDataList) public void setNiceLevel(int)
HostData::getHostName
const char * getHostName() const
HostDataList::isOK
bool isOK(uiStringSet &) const
HostDataList::unx_data_pr_
BufferString unx_data_pr_
Definition: hostdata.h:153
HostData::setDataRoot
void setDataRoot(const FilePath &)
HostData::convPath
FilePath convPath(PathType pt, const char *fn, const HostData *from=0) const
Definition: hostdata.h:74
HostDataList::unixDataRoot
const char * unixDataRoot() const
HostData::getIPAddress
const char * getIPAddress() const
HostDataList::initDataRoot
void initDataRoot()
HostData::usePar
void usePar(const IOPar &)
HostData::PathType
PathType
Definition: hostdata.h:43
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
bufstringset.h
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
HostDataList::find
HostData * find(const char *nm)
Definition: hostdata.h:134
od_iosfwd.h
HostDataList::findHost
HostData * findHost(const char *) const
HostData::platform_
OD::Platform platform_
Definition: hostdata.h:99
HostData::hostname_
BufferString hostname_
Definition: hostdata.h:96
HostData::convPath
FilePath convPath(PathType pt, const FilePath &, const HostData *from=0) const
manobjectset.h
HostDataList::fillFromNetwork
void fillFromNetwork()
HostData::appl_pr_
FilePath appl_pr_
Definition: hostdata.h:100
HostData::ipaddress_
BufferString ipaddress_
Definition: hostdata.h:97
HostData::addAlias
void addAlias(const char *)
only adds if !isKnownAs
HostDataList::winDataRoot
const char * winDataRoot() const
HostDataList::readHostFile
bool readHostFile(const char *)
HostDataList::firstport_
int firstport_
Definition: hostdata.h:149
HostData::staticip_
bool staticip_() const
HostData::setHostName
void setHostName(const char *)
HostData::setPlatform
void setPlatform(const OD::Platform &)
HostData::fillPar
void fillPar(IOPar &) const
HostData::pathStyle
FilePath::Style pathStyle() const
HostData::isOK
bool isOK(uiString &errmsg) const
od_ostream
OD class for stream write common access to the user log file, or std::cout in other than od_main.
Definition: od_ostream.h:26
HostDataList::fill
void fill(BufferStringSet &, bool inclocalhost=true) const
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
HostDataList::niceLevel
int niceLevel() const
filepath.h
HostData::isStaticIP
bool isStaticIP() const
HostDataList::writeHostFile
bool writeHostFile(const char *fnm)
HostData::aliases_
BufferStringSet aliases_
Definition: hostdata.h:98

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