Panda3D
|
This class defines the abstract interace to any source of datagrams, whether it be from a file or from the net. More...
#include "datagramGenerator.h"
Public Member Functions | |
DatagramGenerator () | |
Does nothing since this is class is just the definition of an interface. | |
virtual | ~DatagramGenerator () |
Does nothing since this is class is just the definition of an interface. | |
virtual bool | get_datagram (Datagram &data)=0 |
virtual const FileReference * | get_file () |
Returns the FileReference that provides the source for these datagrams, if any, or NULL if the datagrams do not originate from a file on disk. | |
virtual streampos | get_file_pos () |
Returns the current file position within the data stream, if any, or 0 if the file position is not meaningful or cannot be determined. | |
virtual const Filename & | get_filename () |
Returns the filename that provides the source for these datagrams, if any, or empty string if the datagrams do not originate from a file on disk. | |
virtual VirtualFile * | get_vfile () |
Returns the VirtualFile that provides the source for these datagrams, if any, or NULL if the datagrams do not originate from a VirtualFile. | |
virtual bool | is_eof ()=0 |
virtual bool | is_error ()=0 |
virtual bool | save_datagram (SubfileInfo &info) |
Skips over the next datagram without extracting it, but saves the relevant file information in the SubfileInfo object so that its data may be read later. |
This class defines the abstract interace to any source of datagrams, whether it be from a file or from the net.
Definition at line 33 of file datagramGenerator.h.
DatagramGenerator::DatagramGenerator | ( | ) | [inline] |
Does nothing since this is class is just the definition of an interface.
Definition at line 23 of file datagramGenerator.I.
DatagramGenerator::~DatagramGenerator | ( | ) | [virtual] |
Does nothing since this is class is just the definition of an interface.
Definition at line 28 of file datagramGenerator.cxx.
const FileReference * DatagramGenerator::get_file | ( | ) | [virtual] |
Returns the FileReference that provides the source for these datagrams, if any, or NULL if the datagrams do not originate from a file on disk.
Reimplemented in DatagramInputFile.
Definition at line 74 of file datagramGenerator.cxx.
Referenced by BamReader::get_file(), and get_filename().
streampos DatagramGenerator::get_file_pos | ( | ) | [virtual] |
Returns the current file position within the data stream, if any, or 0 if the file position is not meaningful or cannot be determined.
For DatagramGenerators that return a meaningful file position, this will be pointing to the first byte following the datagram returned after a call to get_datagram().
Reimplemented in DatagramInputFile.
Definition at line 103 of file datagramGenerator.cxx.
Referenced by BamReader::get_file_pos().
const Filename & DatagramGenerator::get_filename | ( | ) | [virtual] |
Returns the filename that provides the source for these datagrams, if any, or empty string if the datagrams do not originate from a file on disk.
Reimplemented in DatagramInputFile.
Definition at line 57 of file datagramGenerator.cxx.
References get_file(), and FileReference::get_filename().
Referenced by BamReader::get_filename().
VirtualFile * DatagramGenerator::get_vfile | ( | ) | [virtual] |
Returns the VirtualFile that provides the source for these datagrams, if any, or NULL if the datagrams do not originate from a VirtualFile.
Reimplemented in DatagramInputFile.
Definition at line 86 of file datagramGenerator.cxx.
Referenced by BamReader::get_vfile().
bool DatagramGenerator::save_datagram | ( | SubfileInfo & | info | ) | [virtual] |
Skips over the next datagram without extracting it, but saves the relevant file information in the SubfileInfo object so that its data may be read later.
For non-file-based datagram generators, this may mean creating a temporary file and copying the contents of the datagram to disk.
Returns true on success, false on failure or if this method is unimplemented.
Reimplemented in DatagramInputFile.
Definition at line 45 of file datagramGenerator.cxx.