Jpp
Public Member Functions | Static Public Attributes | Protected Attributes | Private Attributes | List of all members
JLANG::JFile Class Reference

The JFile class extends the JAbstractFile class. More...

#include <JFile.hh>

Inheritance diagram for JLANG::JFile:
JLANG::JAbstractFile JLANG::JBinaryInput JLANG::JBinaryOutput JLANG::JComparable< JAbstractFile > JNET::JSocket JNET::JClient JNET::JServerSocket JNET::JSocketBlocking JNET::JSocketNonblockingReader JNET::JSocketNonblockingWriter JNET::JUDPSocket JNET::JControlHostServer JNET::JLigierObjectIterator< T > JNET::JControlHost KM3NETDAQ::JTarget JNET::JSocketInputChannel< JPrefix_t > JNET::JSocketOutputChannel< JPrefix_t > JNET::JControlHostObjectOutput< JHead_t > JNET::JControlHostObjectOutput< JTail_t > JLOGGER::JControlHostLogger JNET::JControlHostObjectIterator< T > JNET::JControlHostObjectOutput< T > JNET::JControlHostObjectOutput< JTypeList< JHead_t, JNullType > > JNET::JControlHostObjectOutput< JTypeList< JHead_t, JTail_t > > JNET::JControlHostObjectOutput< JTypeList< JHead_t, JTail_t > >

Public Member Functions

 JFile ()
 Default constructor. More...
 
 JFile (const JAbstractFile &file)
 Constructor. More...
 
void close ()
 Close file. More...
 
virtual int read (char *buffer, const int length)
 Read data from file. More...
 
virtual int write (const char *buffer, const int length)
 Write data to file. More...
 
bool in_avail (JTimeval timeout=JTimeval::min()) const
 Check availability of input. More...
 
bool out_avail (JTimeval timeout=JTimeval::min()) const
 Check availability of output. More...
 
virtual bool good () const
 Check status. More...
 
virtual bool fail () const
 Check status. More...
 
virtual bool bad () const
 Check status. More...
 
virtual bool eof () const
 Check end of file. More...
 
bool less (const JAbstractFile &file) const
 Less than operation. More...
 
int getFileDescriptor () const
 Get file descriptor. More...
 
bool is_open () const
 Get open status. More...
 

Static Public Attributes

static const int FILE_CLOSED = -1
 

Protected Attributes

int fileDescriptor
 

Private Attributes

int result
 

Detailed Description

The JFile class extends the JAbstractFile class.

This class implements the JBinaryInput and JBinaryOutput interfaces.

Definition at line 26 of file JFile.hh.

Constructor & Destructor Documentation

◆ JFile() [1/2]

JLANG::JFile::JFile ( )
inline

Default constructor.

Definition at line 35 of file JFile.hh.

35  :
36  JAbstractFile(),
37  result(0)
38  {}

◆ JFile() [2/2]

JLANG::JFile::JFile ( const JAbstractFile file)
inline

Constructor.

Parameters
filefile descriptor

Definition at line 46 of file JFile.hh.

46  :
47  JAbstractFile(file),
48  result(1)
49  {}

Member Function Documentation

◆ close()

void JLANG::JFile::close ( )
inline

Close file.

Definition at line 55 of file JFile.hh.

56  {
57  if (fileDescriptor != FILE_CLOSED) {
58 
60 
62  result = 0;
63  }
64  }

◆ read()

virtual int JLANG::JFile::read ( char *  buffer,
const int  length 
)
inlinevirtual

Read data from file.

Parameters
bufferbuffer
lengthnumber of bytes to read
Returns
number of bytes read

Implements JLANG::JBinaryInput.

Reimplemented in JNET::JSocket, and JNET::JSocketBlocking.

Definition at line 74 of file JFile.hh.

75  {
76  return (result = ::read(fileDescriptor, buffer, length));
77  }

◆ write()

virtual int JLANG::JFile::write ( const char *  buffer,
const int  length 
)
inlinevirtual

Write data to file.

Parameters
bufferbuffer
lengthnumber of bytes to write
Returns
number of bytes written

Implements JLANG::JBinaryOutput.

Reimplemented in JNET::JSocket, and JNET::JSocketBlocking.

Definition at line 87 of file JFile.hh.

88  {
89  return (result = ::write(fileDescriptor, buffer, length));
90  }

◆ in_avail()

bool JLANG::JFile::in_avail ( JTimeval  timeout = JTimeval::min()) const
inline

Check availability of input.

This method returns true if at least one byte can be read without blocking.

Parameters
timeouttimeout
Returns
true if ready to read; else false

Definition at line 100 of file JFile.hh.

101  {
102  return JFileDescriptorMask(*this).in_avail(timeout);
103  }

◆ out_avail()

bool JLANG::JFile::out_avail ( JTimeval  timeout = JTimeval::min()) const
inline

Check availability of output.

This method returns true if at least one byte can be written without blocking.

Parameters
timeouttimeout
Returns
true if ready to write; else false

Definition at line 113 of file JFile.hh.

114  {
115  return JFileDescriptorMask(*this).out_avail(timeout);
116  }

◆ good()

virtual bool JLANG::JFile::good ( ) const
inlinevirtual

Check status.

Returns
true if last I/O operation successful; else false

Definition at line 124 of file JFile.hh.

125  {
126  return is_open() && !eof() && !bad();
127  }

◆ fail()

virtual bool JLANG::JFile::fail ( ) const
inlinevirtual

Check status.

Returns
true if last I/O operation caused logical error; else false

Definition at line 135 of file JFile.hh.

136  {
137  return result == 0;
138  }

◆ bad()

virtual bool JLANG::JFile::bad ( ) const
inlinevirtual

Check status.

Returns
true if last I/O operation caused read/write error; else false

Definition at line 146 of file JFile.hh.

147  {
148  return fail();
149  }

◆ eof()

virtual bool JLANG::JFile::eof ( ) const
inlinevirtual

Check end of file.

Returns
true if end of file; else false

Definition at line 157 of file JFile.hh.

158  {
159  return result == EOF;
160  }

◆ less()

bool JLANG::JAbstractFile::less ( const JAbstractFile file) const
inlineinherited

Less than operation.

Parameters
fileJAbstractFile to be compared
Returns
true if this file descriptor is less; else false

Definition at line 64 of file JAbstractFile.hh.

65  {
66  return getFileDescriptor() < file.getFileDescriptor();
67  }

◆ getFileDescriptor()

int JLANG::JAbstractFile::getFileDescriptor ( ) const
inlineinherited

Get file descriptor.

Returns
file descriptor

Definition at line 75 of file JAbstractFile.hh.

76  {
77  return fileDescriptor;
78  }

◆ is_open()

bool JLANG::JAbstractFile::is_open ( ) const
inlineinherited

Get open status.

Definition at line 84 of file JAbstractFile.hh.

85  {
86  return fileDescriptor != FILE_CLOSED;
87  }

Member Data Documentation

◆ result

int JLANG::JFile::result
private

Definition at line 164 of file JFile.hh.

◆ FILE_CLOSED

const int JLANG::JAbstractFile::FILE_CLOSED = -1
staticinherited

Definition at line 27 of file JAbstractFile.hh.

◆ fileDescriptor

int JLANG::JAbstractFile::fileDescriptor
protectedinherited

Definition at line 91 of file JAbstractFile.hh.


The documentation for this class was generated from the following file:
JLANG::JAbstractFile::getFileDescriptor
int getFileDescriptor() const
Get file descriptor.
Definition: JAbstractFile.hh:75
JLANG::JAbstractFile::JAbstractFile
JAbstractFile()
Default constructor.
Definition: JAbstractFile.hh:33
JLANG::JFile::read
virtual int read(char *buffer, const int length)
Read data from file.
Definition: JFile.hh:74
JLANG::JFile::fail
virtual bool fail() const
Check status.
Definition: JFile.hh:135
JLANG::JAbstractFile::FILE_CLOSED
static const int FILE_CLOSED
Definition: JAbstractFile.hh:27
JLANG::JFile::close
void close()
Close file.
Definition: JFile.hh:55
JLANG::JFileDescriptorMask::in_avail
bool in_avail(JTimeval timeout=JTimeval::min())
Check availability of input.
Definition: JFileDescriptorMask.hh:264
JLANG::JFileDescriptorMask
Auxiliary class for method select.
Definition: JFileDescriptorMask.hh:24
JLANG::JAbstractFile::fileDescriptor
int fileDescriptor
Definition: JAbstractFile.hh:91
JLANG::JFile::eof
virtual bool eof() const
Check end of file.
Definition: JFile.hh:157
JLANG::JFile::write
virtual int write(const char *buffer, const int length)
Write data to file.
Definition: JFile.hh:87
JLANG::JFileDescriptorMask::out_avail
bool out_avail(JTimeval timeout=JTimeval::min())
Check availability of output.
Definition: JFileDescriptorMask.hh:278
JLANG::JAbstractFile::is_open
bool is_open() const
Get open status.
Definition: JAbstractFile.hh:84
JLANG::JFile::bad
virtual bool bad() const
Check status.
Definition: JFile.hh:146
JLANG::JFile::result
int result
Definition: JFile.hh:164