Public Types | Public Member Functions

gnash::amf::Writer Class Reference

A class to compose AMF buffers. More...

#include <AMFConverter.h>

Collaboration diagram for gnash::amf::Writer:
Collaboration graph
[legend]

List of all members.

Public Types

typedef std::map< as_object
*, size_t > 
OffsetTable

Public Member Functions

 Writer (SimpleBuffer &buf, bool strictArray=false)
bool writeObject (as_object *obj)
 Write any simple Object type: not DisplayObjects.
bool writeString (const std::string &str)
 Write a string.
bool writeNull ()
 Write a null value.
bool writeUndefined ()
 Write an undefined value.
bool writeNumber (double d)
 Write a double.
bool writeBoolean (bool b)
 Write a boolean.
bool writePropertyName (const std::string &name)
 Encode the name of an object's property.
void writeData (const boost::uint8_t *data, size_t length)
 Write custom data for special cases.

Detailed Description

A class to compose AMF buffers.

A single amf::Writer class can take successive values and encode them in a single buffer. The class takes care of object references. This class merely encodes basic types such as strings, numbers, and ActionScript Objects. It does not handle as_values. However, it is designed for use with as_value::writeAMF0(), which uses an instance of this class to serialize itself.


Member Typedef Documentation

typedef std::map<as_object*, size_t> gnash::amf::Writer::OffsetTable

Constructor & Destructor Documentation

gnash::amf::Writer::Writer ( SimpleBuffer buf,
bool  strictArray = false 
) [inline]

Member Function Documentation

bool gnash::amf::Writer::writeBoolean ( bool  b  ) 

Write a boolean.

References gnash::amf::write().

Referenced by gnash::as_value::writeAMF0().

void gnash::amf::Writer::writeData ( const boost::uint8_t *  data,
size_t  length 
)

Write custom data for special cases.

References _, gnash::SimpleBuffer::appendByte(), and gnash::amf::NULL_AMF0.

bool gnash::amf::Writer::writeNull (  ) 
bool gnash::amf::Writer::writeNumber ( double  d  ) 

Write a double.

References gnash::amf::write().

Referenced by gnash::as_value::writeAMF0().

bool gnash::amf::Writer::writeObject ( as_object obj  ) 

Write any simple Object type: not DisplayObjects.

Handles functions, dates, XML, and arrays. The object must not be null.

Native objects are handled specially.

XML is written like a long string (but with an XML marker).

References gnash::amf::STRING_AMF0, and gnash::amf::writePlainString().

Referenced by gnash::as_value::writeAMF0().

bool gnash::amf::Writer::writePropertyName ( const std::string &  name  ) 

Encode the name of an object's property.

You should encode the value of the property immediately afterwards.

bool gnash::amf::Writer::writeString ( const std::string &  str  ) 

Write a string.

Handles long and short strings.

Referenced by gnash::as_value::writeAMF0().

bool gnash::amf::Writer::writeUndefined (  ) 

Write an undefined value.

References gnash::amf::write().

Referenced by gnash::as_value::writeAMF0().


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