DatagramGenerator

class DatagramGenerator

This class defines the abstract interace to any source of datagrams, whether it be from a file or from the net.

Inheritance diagram

Inheritance diagram of DatagramGenerator

virtual bool get_datagram(Datagram &data) = 0
virtual FileReference const *get_file(void)

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 std::streamoff get_file_pos(void)

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().

virtual Filename const &get_filename(void)

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 time_t get_timestamp(void) const

Returns the on-disk timestamp of the file that was read, at the time it was opened, if that is available, or 0 if it is not.

virtual VirtualFile *get_vfile(void)

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(void) = 0
virtual bool is_error(void) = 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. 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.