27#ifndef NIDAS_UTIL_FILESET_H
28#define NIDAS_UTIL_FILESET_H
44namespace nidas {
namespace util {
86 virtual void setDir(
const std::string& val);
185 virtual size_t read(
void* buf,
size_t count);
192 virtual size_t write(
const void* buf,
size_t count);
197 virtual size_t write(
const struct iovec* iov,
int iovcnt);
225 static std::string
makePath(
const std::string& dir,
const std::string& file);
277 static void replaceChars(std::string& in,
const std::string& pat,
278 const std::string& rep);
A description of a set of output files, consisting of a directory name and a file name format contain...
Definition FileSet.h:52
virtual size_t read(void *buf, size_t count)
Read from current file.
Definition FileSet.cc:290
bool _keepopening
Definition FileSet.h:291
void initialize()
Definition FileSet.cc:326
void setFileLengthSecs(int val)
Set/get the file length in seconds.
Definition FileSet.h:115
bool _initialized
Definition FileSet.h:314
std::list< std::string > matchFiles(const UTime &t1, const UTime &t2)
Definition FileSet.cc:488
FileSet()
constructor
Definition FileSet.cc:52
std::string _filename
Definition FileSet.h:299
long long getFileSize() const
Definition FileSet.cc:155
void setEndTime(const UTime &val)
Definition FileSet.h:144
virtual ~FileSet()
Destructor.
Definition FileSet.cc:101
long long _fileLength
File length, in microseconds.
Definition FileSet.h:319
bool isNewFile() const
Definition FileSet.h:92
virtual void closeFile()
Closes any file currently open.
Definition FileSet.cc:122
void checkPathFormat(const UTime &t1, const UTime &t2)
Check that any date or time descriptors, e.g.
Definition FileSet.cc:444
static const char pathSeparator
Definition FileSet.h:199
virtual void setDir(const std::string &val)
Set directory portion of file path.
Definition FileSet.cc:109
const std::time_put< char > & _timeputter
Definition FileSet.h:280
int getFileLengthSecs() const
Definition FileSet.h:123
virtual const std::string & getDir()
Definition FileSet.h:88
bool _newFile
Definition FileSet.h:282
virtual void setFileName(const std::string &val)
Set file name portion of file path.
Definition FileSet.cc:115
void openNextFile()
Open the next file to be read.
Definition FileSet.cc:378
virtual size_t write(const void *buf, size_t count)
Write to current file.
Definition FileSet.cc:305
std::list< std::string >::iterator _fileiter
Definition FileSet.h:312
int _lastErrno
This value can get set by getFileSize() which is a const method.
Definition FileSet.h:287
std::string _dir
Definition FileSet.h:297
virtual const std::string & getPath()
Get the full path, the concatenation of getDir() and getFileName().
Definition FileSet.h:108
const std::string & getCurrentName() const
Get name of current file.
Definition FileSet.h:151
int getFd() const
Definition FileSet.h:90
int getLastErrno() const
Get last error value.
Definition FileSet.h:252
std::list< std::string > _fileset
Definition FileSet.h:310
void setKeepOpening(bool keepopening)
Set whether the FileSet should keep going to the next file when an error happens opening a file.
Definition FileSet.h:262
std::string _currname
Definition FileSet.h:301
int _fd
Definition FileSet.h:289
static std::string getDirPortion(const std::string &path)
Utility function to return the directory portion of a file path.
Definition FileSet.cc:416
UTime getEndTime() const
Definition FileSet.h:146
static void createDirectory(const std::string &name, mode_t mode)
Definition FileSet.cc:169
std::string _fullpath
Definition FileSet.h:303
virtual UTime createFile(UTime tfile, bool exact)
Create a new file, with a name formed from a time.
Definition FileSet.cc:223
UTime _endTime
Definition FileSet.h:308
virtual FileSet * clone() const
Virtual constructor.
Definition FileSet.cc:96
virtual void openFileForWriting(const std::string &filename)
Open a new file for writing.
Definition FileSet.cc:210
bool keepOpening()
Definition FileSet.h:268
UTime getStartTime() const
Definition FileSet.h:142
static void replaceChars(std::string &in, const std::string &pat, const std::string &rep)
Definition FileSet.cc:628
std::string formatName(const UTime &t1)
Definition FileSet.cc:439
static std::string makePath(const std::string &dir, const std::string &file)
Utility function to create a full path name from a directory and file portion.
Definition FileSet.cc:433
static std::string getFilePortion(const std::string &path)
Utility function to return the file portion of a file path.
Definition FileSet.cc:425
virtual void addFileName(const std::string &val)
Definition FileSet.h:110
FileSet & operator=(const FileSet &x)
Assignment operator.
Definition FileSet.cc:75
void setStartTime(const UTime &val)
Definition FileSet.h:140
UTime _startTime
Definition FileSet.h:306
virtual const std::string & getFileName()
Definition FileSet.h:103
A class for parsing, formatting and doing operations on time, based on Unix time conventions,...
Definition UTime.h:95
Root namespace for the NCAR In-Situ Data Acquisition Software.
Definition A2DConverter.h:31
#define USECS_PER_SEC
Definition ublox.cc:59