Panda3D
Public Member Functions | List of all members
FltRecordWriter Class Reference

This class writes a sequence of FltRecords to an ostream, handling opcode and size counts properly. More...

#include "fltRecordWriter.h"

Public Member Functions

 FltRecordWriter (ostream &out)
 
FltError advance ()
 Writes the current record to the flt file, and resets the current record to receive new data. More...
 
const Datagramget_datagram () const
 
void set_datagram (const Datagram &datagram)
 Sets the datagram that will be written when advance() is called. More...
 
void set_opcode (FltOpcode opcode)
 Sets the opcode associated with the current record. More...
 
Datagramupdate_datagram ()
 Returns a modifiable reference to the datagram associated with the current record. More...
 
FltError write_instance_def (FltHeader *header, int instance_index)
 Ensures that the given instance definition has already been written to the file. More...
 
FltError write_record (FltOpcode opcode, const Datagram &datagram=Datagram())
 A convenience function to quickly write a simple record that consists of an opcode and possibly a datagram. More...
 

Detailed Description

This class writes a sequence of FltRecords to an ostream, handling opcode and size counts properly.

Definition at line 33 of file fltRecordWriter.h.

Member Function Documentation

◆ advance()

FltError FltRecordWriter::advance ( )

Writes the current record to the flt file, and resets the current record to receive new data.

Returns FE_ok on success, or something else on error.

Definition at line 92 of file fltRecordWriter.cxx.

References Datagram::add_be_int16(), Datagram::clear(), Datagram::get_data(), Datagram::get_length(), and write_record().

Referenced by FltHeader::get_trackplane(), FltBead::set_replicate_count(), update_datagram(), and FltRecord::write().

◆ set_datagram()

void FltRecordWriter::set_datagram ( const Datagram datagram)

Sets the datagram that will be written when advance() is called.

Definition at line 66 of file fltRecordWriter.cxx.

References update_datagram().

Referenced by FltUnsupportedRecord::output(), and set_opcode().

◆ set_opcode()

void FltRecordWriter::set_opcode ( FltOpcode  opcode)

◆ update_datagram()

Datagram & FltRecordWriter::update_datagram ( )

◆ write_instance_def()

FltError FltRecordWriter::write_instance_def ( FltHeader header,
int  instance_index 
)

Ensures that the given instance definition has already been written to the file.

If it has not, writes it now.

Definition at line 159 of file fltRecordWriter.cxx.

References FltHeader::get_instance().

Referenced by FltInstanceRef::write(), and write_record().

◆ write_record()

FltError FltRecordWriter::write_record ( FltOpcode  opcode,
const Datagram datagram = Datagram() 
)

A convenience function to quickly write a simple record that consists of an opcode and possibly a datagram.

Definition at line 145 of file fltRecordWriter.cxx.

References FltRecordReader::advance(), and write_instance_def().

Referenced by advance(), FltHeader::get_trackplane(), FltBeadID::output(), and FltRecord::write().


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