Open Model Railroad Network (OpenMRN)
Loading...
Searching...
No Matches
Node Class Referenceabstract

Node information. More...

#include <Devtab.hxx>

Inheritance diagram for Node:
Device FileIO DccDecoder< Module > DeviceFile EEPROM I2C NonBlockNode Pic32mxCan Pipe RailcomDriverBase< HW > RailcomDriverBase< HW > RamDiskBase SPI Serial Socket TinyUsbCdc TivaDCC< HW > TivaFlash TivaNRZ< HW > TivaTestPacketSource< HW >

Protected Member Functions

 Node (const char *name)
 Constructor.
 
virtual ~Node ()
 Destructor.
 
virtual void enable ()=0
 This will be called once when reference-count goes from 0 to positive.
 
virtual void disable ()=0
 This will be called when reference count goes from non-zero to 0.
 
virtual void flush_buffers ()=0
 Instructs the device driver to drop all TX and RX queues.
 
int open (File *, const char *, int, int) OVERRIDE
 Open method.
 
int close (File *) OVERRIDE
 Close method.
 
virtual int fstat (File *file, struct stat *stat) override
 Get the status information of a file or device.
 
- Protected Member Functions inherited from FileIO
 FileIO (const char *name)
 Constructor.
 
virtual ~FileIO ()
 Destructor.
 
virtual ssize_t read (File *file, void *buf, size_t count)=0
 Read from a file or device.
 
virtual ssize_t write (File *file, const void *buf, size_t count)=0
 Write to a file or device.
 
virtual off_t lseek (File *f, off_t offset, int whence)
 Seek method.
 
virtual int ioctl (File *file, unsigned long int key, unsigned long data)
 Request an ioctl transaction.
 
virtual int fcntl (File *file, int cmd, unsigned long data)
 Manipulate a file descriptor.
 
virtual bool select (File *file, int mode)
 Device select method.
 

Protected Attributes

OSMutex lock_
 protects internal structures.
 
mode_t mode_
 File open mode, such as O_NONBLOCK.
 
unsigned int references_
 number of open references
 
- Protected Attributes inherited from FileIO
const char * name
 device name
 

Private Member Functions

mode_t get_mode () override
 Get the mode of the device.
 
 DISALLOW_COPY_AND_ASSIGN (Node)
 

Additional Inherited Members

- Public Member Functions inherited from Device
 Device (const char *name)
 Constructor.
 
virtual ~Device ()
 Destructor.
 
- Static Public Member Functions inherited from Device
static int open (struct _reent *reent, const char *path, int flags, int mode)
 Open a file or device.
 
static int close (struct _reent *reent, int fd)
 Close a file or device.
 
static int stat (struct _reent *reent, const char *path, struct stat *stat)
 Get the status information of a file or device.
 
static int select (int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, long long timeout)
 POSIX select().
 
static void select_clear ()
 Clears the current thread's select bits.
 
- Static Public Member Functions inherited from FileIO
static ssize_t read (struct _reent *reent, int fd, void *buf, size_t count)
 Read from a file or device.
 
static ssize_t write (struct _reent *reent, int fd, const void *buf, size_t count)
 Write to a file or device.
 
static _off_t lseek (struct _reent *reent, int fd, _off_t offset, int whence)
 Change the offset index of a file or device.
 
static int fstat (struct _reent *reent, int fd, struct stat *stat)
 Get the status information of a file or device.
 
static int ioctl (int fd, unsigned long int key, unsigned long data)
 Request and ioctl transaction.
 
static int fcntl (int fd, int cmd, unsigned long data)
 Manipulate a file descriptor.
 
static bool is_device (int fd)
 Test if the file descriptor belongs to a device.
 
- Static Protected Member Functions inherited from Device
static void select_insert (SelectInfo *info)
 Add client to list of clients needing woken.
 
static void select_wakeup (SelectInfo *info)
 Wakeup the list of clients needing woken.
 
static void select_wakeup_from_isr (SelectInfo *info, int *woken)
 Wakeup the list of clients needing woken.
 
- Static Protected Member Functions inherited from FileIO
static int fd_alloc (void)
 Allocate a free file descriptor.
 
static void fd_free (int fd)
 Free up a file descriptor.
 
static Filefile_lookup (int fd)
 Looks up a reference to a File corresponding to a given file descriptor.
 
static int fd_lookup (File *file)
 Looks up a file descriptor corresponding to a given File reference.
 
- Static Protected Attributes inherited from FileIO
static const unsigned int numOpenFiles = 20
 
static File files []
 File descriptor pool.
 
static OSMutex mutex
 mutual exclusion for fileio
 

Detailed Description

Node information.

Definition at line 548 of file Devtab.hxx.

Constructor & Destructor Documentation

◆ Node()

Node::Node ( const char *  name)
inlineprotected

Constructor.

Definition at line 553 of file Devtab.hxx.

◆ ~Node()

virtual Node::~Node ( )
inlineprotectedvirtual

Destructor.

Definition at line 561 of file Devtab.hxx.

Member Function Documentation

◆ close()

int Node::close ( File )
protectedvirtual

Close method.

Implements FileIO.

Reimplemented in Pipe.

Definition at line 54 of file freertos_drivers/common/Node.cxx.

◆ disable()

◆ enable()

◆ flush_buffers()

virtual void Node::flush_buffers ( )
protectedpure virtual

◆ fstat()

int Node::fstat ( File file,
struct stat stat 
)
overrideprotectedvirtual

Get the status information of a file or device.

Parameters
filefile reference for this device
statstructure to fill status info into
Returns
0 upon successor or negative error number upon error.

Implements FileIO.

Reimplemented in FlashFile< FLASH >, CC32xxDeviceFile, and TivaEEPROMFile.

Definition at line 70 of file freertos_drivers/common/Node.cxx.

◆ get_mode()

mode_t Node::get_mode ( )
inlineoverrideprivatevirtual

Get the mode of the device.

Returns
mode of device.

Reimplemented from Device.

Definition at line 598 of file Devtab.hxx.

◆ open()

int Node::open ( File ,
const char *  ,
int  ,
int   
)
protectedvirtual

Open method.

Implements FileIO.

Reimplemented in RamDiskBase.

Definition at line 43 of file freertos_drivers/common/Node.cxx.

Member Data Documentation

◆ lock_

OSMutex Node::lock_
protected

protects internal structures.

Definition at line 588 of file Devtab.hxx.

◆ mode_

mode_t Node::mode_
protected

File open mode, such as O_NONBLOCK.

Definition at line 590 of file Devtab.hxx.

◆ references_

unsigned int Node::references_
protected

number of open references

Definition at line 592 of file Devtab.hxx.


The documentation for this class was generated from the following files: