OpendTect 8.0
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
OD::FileSystemAccess Class Referenceabstract

Interface to files and directories, whether local or cloud. More...

#include <filesystemaccess.h>

Public Member Functions

 FileSystemAccess (const FileSystemAccess &)=delete
 
virtual bool copy (const char *from, const char *to, bool preserve, uiString *errmsg=nullptr, TaskRunner *=nullptr) const
 
virtual bool createDirectory (const char *) const
 
virtual StreamData createIStream (const char *, bool binary=true) const =0
 
virtual bool createLink (const char *srcfnm, const char *lnkfnm) const
 
virtual StreamData createOStream (const char *, bool binary=true, bool inplaceedit=false) const =0
 
uiString errMsg () const
 
virtual bool exists (const char *) const
 
virtual bool getContent (const char *fnm, BufferString &) const
 
virtual od_int64 getFileSize (const char *, bool followlink) const
 0 for non-existing, -1 for unknown
 
virtual File::Permissions getPermissions (const char *) const
 
virtual od_int64 getTimeInMilliSeconds (const char *, bool lastmodif, bool followlink) const
 since epoch (POSIX)
 
virtual bool getTimes (const char *, Time::FileTimeSet &, bool followlink) const
 
virtual File::Type getType (const char *, bool followlinks) const =0
 
virtual bool getURIFromURL (const char *url, BufferString &uri, BufferString &region) const
 
virtual bool getURLFromURI (const char *uri, const char *region, BufferString &url) const
 
virtual BufferString iconName () const
 
virtual bool isExecutable (const char *) const
 
virtual bool isInUse (const char *) const
 
bool isLocal () const
 
virtual bool isReadable (const char *) const =0
 
virtual bool isWritable (const char *) const
 
virtual BufferString linkEnd (const char *linknm) const
 
virtual bool listDirectory (const char *, File::DirListType, BufferStringSet &, const char *mask) const
 
virtual bool operationsSupported () const
 
FileSystemAccessoperator= (const FileSystemAccess &)=delete
 
virtual const char * protocol () const =0
 
virtual bool putContent (const char *buf, int sz, const char *tofnm) const
 
virtual bool queriesSupported () const
 
virtual bool readingSupported () const
 
virtual bool remove (const char *, bool recursive) const
 
virtual bool rename (const char *from, const char *to, uiString *errmsg=nullptr) const
 
virtual bool setExecutable (const char *, bool yn, bool recursive) const
 
virtual bool setHidden (const char *, bool yn) const
 
virtual bool setPermissions (const char *, const File::Permissions &) const
 
virtual bool setSystemAttrib (const char *, bool yn) const
 
virtual bool setTimes (const char *, const Time::FileTimeSet &, bool followlink) const
 
virtual bool setWritable (const char *, bool yn, bool recursive) const
 
virtual BufferString timeCreated (const char *, bool followlink) const
 
virtual BufferString timeLastModified (const char *, bool followlink) const
 
virtual uiString userName () const =0
 
virtual bool writingSupported () const
 

Static Public Member Functions

static const FileSystemAccessget (const char *fnm)
 
static const FileSystemAccessgetByProtocol (const char *prot)
 
static const FileSystemAccessgetLocal ()
 
static BufferString getProtocol (const char *fnm)
 
static void getProtocolNames (BufferStringSet &, bool forread)
 
static BufferString iconForProtocol (const char *)
 
static BufferString withoutProtocol (const char *)
 
static BufferString withProtocol (const char *fnm, const char *prot)
 

Protected Member Functions

 FileSystemAccess ()=default
 
virtual ~FileSystemAccess ()
 
bool isDirectory (const char *) const
 
bool isFile (const char *) const
 
bool isSymLink (const char *) const
 

Static Protected Member Functions

static const FileSystemAccessgtByProt (BufferString &)
 

Protected Attributes

uiString errmsg_
 

Detailed Description

Interface to files and directories, whether local or cloud.

OpendTect objects will always, one way or the other, use this interface to: Get information about files (and directories) Manipulate files (remove, rename, etc.) Get streams to read or write content

Utilties like od_stream's and File::exists() will use an instance of this class to get their services.

<>

Constructor & Destructor Documentation

◆ FileSystemAccess() [1/2]

OD::FileSystemAccess::FileSystemAccess ( const FileSystemAccess & )
delete

◆ FileSystemAccess() [2/2]

OD::FileSystemAccess::FileSystemAccess ( )
protecteddefault

◆ ~FileSystemAccess()

virtual OD::FileSystemAccess::~FileSystemAccess ( )
inlineprotectedvirtual

Member Function Documentation

◆ copy()

virtual bool OD::FileSystemAccess::copy ( const char * from,
const char * to,
bool preserve,
uiString * errmsg = nullptr,
TaskRunner * = nullptr ) const
inlinevirtual

◆ createDirectory()

virtual bool OD::FileSystemAccess::createDirectory ( const char * ) const
inlinevirtual

◆ createIStream()

virtual StreamData OD::FileSystemAccess::createIStream ( const char * ,
bool binary = true ) const
pure virtual

keep binary==true also for text files unless you know what you are doing. win32 thing only.

◆ createLink()

virtual bool OD::FileSystemAccess::createLink ( const char * srcfnm,
const char * lnkfnm ) const
inlinevirtual

◆ createOStream()

virtual StreamData OD::FileSystemAccess::createOStream ( const char * ,
bool binary = true,
bool inplaceedit = false ) const
pure virtual

keep binary==true also for text files unless you know what you are doing. win32 thing only.

◆ errMsg()

uiString OD::FileSystemAccess::errMsg ( ) const
inline

◆ exists()

virtual bool OD::FileSystemAccess::exists ( const char * ) const
virtual

◆ get()

static const FileSystemAccess & OD::FileSystemAccess::get ( const char * fnm)
static

Looks at first part of filename to determine what system it belongs to. If nothing matches, local FileSystemAccess will be returned.

◆ getByProtocol()

static const FileSystemAccess & OD::FileSystemAccess::getByProtocol ( const char * prot)
static

◆ getContent()

virtual bool OD::FileSystemAccess::getContent ( const char * fnm,
BufferString &  ) const
inlinevirtual

◆ getFileSize()

virtual od_int64 OD::FileSystemAccess::getFileSize ( const char * ,
bool followlink ) const
virtual

0 for non-existing, -1 for unknown

◆ getLocal()

static const FileSystemAccess & OD::FileSystemAccess::getLocal ( )
static

◆ getPermissions()

virtual File::Permissions OD::FileSystemAccess::getPermissions ( const char * ) const
inlinevirtual

◆ getProtocol()

static BufferString OD::FileSystemAccess::getProtocol ( const char * fnm)
static

◆ getProtocolNames()

static void OD::FileSystemAccess::getProtocolNames ( BufferStringSet & ,
bool forread )
static

◆ getTimeInMilliSeconds()

virtual od_int64 OD::FileSystemAccess::getTimeInMilliSeconds ( const char * ,
bool lastmodif,
bool followlink ) const
inlinevirtual

since epoch (POSIX)

◆ getTimes()

virtual bool OD::FileSystemAccess::getTimes ( const char * ,
Time::FileTimeSet & ,
bool followlink ) const
inlinevirtual

◆ getType()

virtual File::Type OD::FileSystemAccess::getType ( const char * ,
bool followlinks ) const
pure virtual

◆ getURIFromURL()

virtual bool OD::FileSystemAccess::getURIFromURL ( const char * url,
BufferString & uri,
BufferString & region ) const
inlinevirtual

◆ getURLFromURI()

virtual bool OD::FileSystemAccess::getURLFromURI ( const char * uri,
const char * region,
BufferString & url ) const
inlinevirtual

◆ gtByProt()

static const FileSystemAccess & OD::FileSystemAccess::gtByProt ( BufferString & )
staticprotected

◆ iconForProtocol()

static BufferString OD::FileSystemAccess::iconForProtocol ( const char * )
static

◆ iconName()

virtual BufferString OD::FileSystemAccess::iconName ( ) const
inlinevirtual

◆ isDirectory()

bool OD::FileSystemAccess::isDirectory ( const char * ) const
protected

◆ isExecutable()

virtual bool OD::FileSystemAccess::isExecutable ( const char * ) const
inlinevirtual

◆ isFile()

bool OD::FileSystemAccess::isFile ( const char * ) const
protected

◆ isInUse()

virtual bool OD::FileSystemAccess::isInUse ( const char * ) const
inlinevirtual

◆ isLocal()

bool OD::FileSystemAccess::isLocal ( ) const

◆ isReadable()

virtual bool OD::FileSystemAccess::isReadable ( const char * ) const
pure virtual

◆ isSymLink()

bool OD::FileSystemAccess::isSymLink ( const char * ) const
protected

◆ isWritable()

virtual bool OD::FileSystemAccess::isWritable ( const char * ) const
inlinevirtual

◆ linkEnd()

virtual BufferString OD::FileSystemAccess::linkEnd ( const char * linknm) const
inlinevirtual

◆ listDirectory()

virtual bool OD::FileSystemAccess::listDirectory ( const char * ,
File::DirListType ,
BufferStringSet & ,
const char * mask ) const
inlinevirtual

◆ operationsSupported()

virtual bool OD::FileSystemAccess::operationsSupported ( ) const
inlinevirtual

◆ operator=()

FileSystemAccess & OD::FileSystemAccess::operator= ( const FileSystemAccess & )
delete

◆ protocol()

virtual const char * OD::FileSystemAccess::protocol ( ) const
pure virtual

◆ putContent()

virtual bool OD::FileSystemAccess::putContent ( const char * buf,
int sz,
const char * tofnm ) const
inlinevirtual

◆ queriesSupported()

virtual bool OD::FileSystemAccess::queriesSupported ( ) const
inlinevirtual

◆ readingSupported()

virtual bool OD::FileSystemAccess::readingSupported ( ) const
inlinevirtual

◆ remove()

virtual bool OD::FileSystemAccess::remove ( const char * ,
bool recursive ) const
inlinevirtual

◆ rename()

virtual bool OD::FileSystemAccess::rename ( const char * from,
const char * to,
uiString * errmsg = nullptr ) const
inlinevirtual

◆ setExecutable()

virtual bool OD::FileSystemAccess::setExecutable ( const char * ,
bool yn,
bool recursive ) const
inlinevirtual

◆ setHidden()

virtual bool OD::FileSystemAccess::setHidden ( const char * ,
bool yn ) const
inlinevirtual

◆ setPermissions()

virtual bool OD::FileSystemAccess::setPermissions ( const char * ,
const File::Permissions &  ) const
inlinevirtual

◆ setSystemAttrib()

virtual bool OD::FileSystemAccess::setSystemAttrib ( const char * ,
bool yn ) const
inlinevirtual

◆ setTimes()

virtual bool OD::FileSystemAccess::setTimes ( const char * ,
const Time::FileTimeSet & ,
bool followlink ) const
inlinevirtual

◆ setWritable()

virtual bool OD::FileSystemAccess::setWritable ( const char * ,
bool yn,
bool recursive ) const
inlinevirtual

◆ timeCreated()

virtual BufferString OD::FileSystemAccess::timeCreated ( const char * ,
bool followlink ) const
inlinevirtual

◆ timeLastModified()

virtual BufferString OD::FileSystemAccess::timeLastModified ( const char * ,
bool followlink ) const
inlinevirtual

◆ userName()

virtual uiString OD::FileSystemAccess::userName ( ) const
pure virtual

◆ withoutProtocol()

static BufferString OD::FileSystemAccess::withoutProtocol ( const char * )
static

◆ withProtocol()

static BufferString OD::FileSystemAccess::withProtocol ( const char * fnm,
const char * prot )
static

◆ writingSupported()

virtual bool OD::FileSystemAccess::writingSupported ( ) const
inlinevirtual

Member Data Documentation

◆ errmsg_

uiString OD::FileSystemAccess::errmsg_
mutableprotected

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