OpendTect  6.6
filepath.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: Mar 2004
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "basicmod.h"
15 #include "bufstringset.h"
16 
17 
34 {
35 public:
36  enum Style { Local, Unix, Windows };
37 
38  FilePath(const char* fullinp=0);
39  FilePath(const char* p1,const char* p2,const char* p3=0,
40  const char* p4=0,const char* p5=0);
41  FilePath( const FilePath& fp ) { *this = fp; }
42  FilePath(const FilePath&,const char* p2,
43  const char* p3=0,const char* p4=0,
44  const char* p5=0);
45 
46  FilePath& operator =(const FilePath&);
47  FilePath& operator =(const char* fullinp);
48  bool operator ==(const FilePath&) const;
49  bool operator ==(const char* fnm) const;
50  bool operator !=(const FilePath&) const;
51  bool operator !=(const char* fnm) const;
52  bool isEmpty() const;
53 
54  FilePath& set(const char* fullinp);
55  FilePath& add(const char*);
56  FilePath& insert(const char*);
57  void setFileName(const char*);
58  void setPath(const char*);
59  void setExtension(const char*,bool replace=true);
61  bool exists() const;
62 
63  bool isAbsolute() const;
64  bool isSubDirOf(const FilePath&,FilePath* reldir = 0) const;
67  bool makeRelativeTo(const FilePath&);
68  bool makeCanonical();
69 
70  BufferString fullPath(Style s=Local,bool cleanup=true) const;
71  const char* prefix() const;
72  int nrLevels() const;
73  const char* extension() const;
74 
75  const OD::String& fileName() const;
80 
81  const OD::String& dir(int nr=-1) const;
83  BufferString dirUpTo(int) const;
87 
89  static BufferString getTempFileName(const char* typ,const char* ext);
90  static BufferString getTempFullPath(const char* typ,const char* ext);
91  static BufferString getTimeStampFileName(const char* ext);
92  mDeprecated("Use getTempFullPath instead")
93  static BufferString getTempName( const char* ext=0 )
94  { return getTempFullPath(0,ext); }
95  static BufferString mkCleanPath(const char* path,Style fmt);
96 
97  static const char* dirSep(Style);
98  static const char* sPrefSep;
99 
101 
102 protected:
103 
104  bool isabs_;
107 
108  void addPart(const char*);
109  void compress(int sl=0);
111 };
112 
113 
114 mGlobal(Basic) inline const char* sSeismicSubDir() { return "Seismics"; }
115 mGlobal(Basic) inline const char* sWellSubDir() { return "WellInfo"; }
116 mGlobal(Basic) inline const char* sSurfaceSubDir() { return "Surfaces"; }
117 
118 mGlobal(Basic) inline const char* sParFileExtension() { return "par"; }
119 mGlobal(Basic) inline const char* sInfoFileExtension() { return "info"; }
120 mGlobal(Basic) inline const char* sProcFileExtension() { return "proc"; }
121 mGlobal(Basic) inline const char* sStatsFileExtension() { return "stats"; }
122 
FilePath::isSubDirOf
bool isSubDirOf(const FilePath &, FilePath *reldir=0) const
sStatsFileExtension
const char * sStatsFileExtension()
Definition: filepath.h:121
FilePath::extension
const char * extension() const
may return null
FilePath::setExtension
void setExtension(const char *, bool replace=true)
!replace => add
FilePath::FilePath
FilePath(const FilePath &, const char *p2, const char *p3=0, const char *p4=0, const char *p5=0)
FilePath::pathOnly
BufferString pathOnly() const
FilePath::Style
Style
Definition: filepath.h:36
FilePath::pathOnly
BufferString pathOnly(Style) const
FilePath::prefix_
BufferString prefix_
Definition: filepath.h:105
FilePath::dirUpTo
BufferString dirUpTo(int) const
nr < 0 returns last dir, including prefix
mGlobal
#define mGlobal(module)
Definition: commondefs.h:180
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
FilePath::isabs_
bool isabs_
Definition: filepath.h:104
FilePath::prefix
const char * prefix() const
sSeismicSubDir
const char * sSeismicSubDir()
Definition: filepath.h:114
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
FilePath::FilePath
FilePath(const char *fullinp=0)
FilePath
File pathname tools.
Definition: filepath.h:34
sKey::Local
FixedString Local()
Definition: keystrs.h:93
FilePath::exists
bool exists() const
sWellSubDir
const char * sWellSubDir()
Definition: filepath.h:115
FilePath::baseName
BufferString baseName() const
return name of file w/o path & ext
FilePath::getTempFileName
static BufferString getTempFileName(const char *typ, const char *ext)
FilePath::nrLevels
int nrLevels() const
operator==
bool operator==(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:81
FilePath::setFileName
void setFileName(const char *)
pass null to remove level
FilePath::set
FilePath & set(const char *fullinp)
FilePath::partitionName
BufferString partitionName() const
FilePath::trueDirIfLink
void trueDirIfLink()
FilePath::getTempFullPath
static BufferString getTempFullPath(const char *typ, const char *ext)
FilePath::add
FilePath & add(const char *)
at end
FilePath::addPart
void addPart(const char *)
FilePath::sPrefSep
static const char * sPrefSep
Definition: filepath.h:98
FilePath::getTempDir
static BufferString getTempDir()
sParFileExtension
const char * sParFileExtension()
Definition: filepath.h:118
sSurfaceSubDir
const char * sSurfaceSubDir()
Definition: filepath.h:116
FilePath::makeCanonical
bool makeCanonical()
FilePath::getTimeStampFileName
static BufferString getTimeStampFileName(const char *ext)
operator!=
bool operator!=(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:90
FilePath::dir
const OD::String & dir(int nr=-1) const
nr < 0 returns last dir name
FilePath::isEmpty
bool isEmpty() const
mDeprecated
#define mDeprecated(msg)
Definition: plfdefs.h:215
sProcFileExtension
const char * sProcFileExtension()
Definition: filepath.h:120
FilePath::FilePath
FilePath(const char *p1, const char *p2, const char *p3=0, const char *p4=0, const char *p5=0)
FilePath::rootPath
BufferString rootPath() const
FilePath::setPath
void setPath(const char *)
including prefix
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
FilePath::getFullLongPath
static BufferString getFullLongPath(const FilePath &)
bufstringset.h
FilePath::dirSep
static const char * dirSep(Style)
FilePath::fullPath
BufferString fullPath(Style s=Local, bool cleanup=true) const
OD::String
encapsulates the read-access-only part of strings in OD.
Definition: odstring.h:31
FilePath::compress
void compress(int sl=0)
FilePath::insert
FilePath & insert(const char *)
after prefix at start
FilePath::mkCleanPath
static BufferString mkCleanPath(const char *path, Style fmt)
FilePath::winDrive
BufferString winDrive() const
sInfoFileExtension
const char * sInfoFileExtension()
Definition: filepath.h:119
FilePath::makeRelativeTo
bool makeRelativeTo(const FilePath &)
FilePath::FilePath
FilePath(const FilePath &fp)
Definition: filepath.h:41
FilePath::isAbsolute
bool isAbsolute() const
FilePath::lvls_
BufferStringSet lvls_
Definition: filepath.h:106
FilePath::fileName
const OD::String & fileName() const

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