Go to the documentation of this file.
20 #ifndef GNASH_AMFCONVERTER_H
21 #define GNASH_AMFCONVERTER_H
64 _strictArray(strictArray)
172 std::vector<as_object*> _objectRefs;
175 const std::uint8_t*& _pos;
178 const std::uint8_t*
const _end;
void toString(std::ostream &o, bool encode) const
Convert the XML object to a string.
Definition: XML_as.cpp:129
bool isNativeType(const as_object *obj, T *&relay)
Check whether the object is an instance of a known type.
Definition: as_object.h:875
Exception for handling malformed buffers.
Definition: AMF.h:71
ObjectURI arrayKey(VM &vm, size_t i)
Convert an integral value into an ObjectURI.
Definition: Array_as.cpp:995
std::string name
Definition: LocalConnection_as.cpp:149
void visitProperties(PropertyVisitor &visitor) const
Visit the properties of this object by key/as_value pairs.
Definition: as_object.h:547
@ d
Definition: GnashKey.h:150
The base class for all ActionScript objects.
Definition: as_object.h:162
bool readBoolean(const std::uint8_t *&pos, const std::uint8_t *_end)
Read a boolean value from the buffer.
Definition: AMF.cpp:50
void appendNetworkLong(const std::uint32_t l)
Append 4 bytes to the buffer.
Definition: SimpleBuffer.h:169
A class to compose AMF buffers.
Definition: AMFConverter.h:56
std::string readLongString(const std::uint8_t *&pos, const std::uint8_t *end)
Read a long string value from the buffer.
Definition: AMF.cpp:109
string_table::key getName(const ObjectURI &o)
Get the name element of an ObjectURI.
Definition: ObjectURI.h:116
void log_debug(StringType msg, Args... args)
Definition: log.h:301
@ i
Definition: GnashKey.h:155
Reader(const std::uint8_t *&pos, const std::uint8_t *end, Global_as &gl)
Construct a Reader with pointers into an AMF buffer.
Definition: AMFConverter.h:135
@ PROP_LENGTH
Definition: namedStrings.h:83
#define _(String)
Definition: log.h:44
Provides information about timeline context.
Definition: as_environment.h:51
@ XML_OBJECT_AMF0
Definition: AMF.h:62
The AVM1 virtual machine.
Definition: VM.h:72
void appendByte(const std::uint8_t b)
Append a byte to the buffer.
Definition: SimpleBuffer.h:140
virtual as_function * to_function()
Cast to a as_function, or return NULL.
Definition: as_object.h:471
Anonymous namespace for callbacks, local functions, event handlers etc.
Definition: dbus_ext.cpp:41
@ STRICT_ARRAY_AMF0
Definition: AMF.h:57
size_t arrayLength(as_object &array)
Get the length of an object as though it were an array.
Definition: Array_as.cpp:942
@ NOTYPE
Definition: AMF.h:46
@ s
Definition: GnashKey.h:165
bool writeString(const std::string &str)
Write a string.
Definition: AMFConverter.cpp:251
@ LONG_STRING_AMF0
Definition: AMF.h:59
@ NULL_AMF0
Definition: AMF.h:52
std::uint16_t readNetworkShort(const std::uint8_t *buf)
Read an unsigned 16-bit value in network byte order.
Definition: AMF.h:119
Writer(SimpleBuffer &buf, bool strictArray=false)
Definition: AMFConverter.h:61
@ PROP_CONSTRUCTOR
Definition: namedStrings.h:68
VM & getVM(const as_environment &env)
Definition: as_environment.h:222
void log_error(StringType msg, Args... args)
Definition: log.h:283
as_value getMember(as_object &o, const ObjectURI &uri)
Get a member of an object using AS lookup rules.
Definition: as_object.h:756
bool array() const
Return true if this object should be treated as an array.
Definition: as_object.h:625
void writeData(const std::uint8_t *data, size_t length)
Write custom data for special cases.
Definition: AMFConverter.cpp:293
as_object * createObject(const Global_as &gl)
Definition: Global_as.cpp:303
@ PROP_PUSH
Definition: namedStrings.h:88
std::uint32_t readNetworkLong(const std::uint8_t *buf)
Read an unsigned 32-bit value in network byte order.
Definition: AMF.h:129
@ t
Definition: GnashKey.h:166
as_value callMethod(fn_call::Args &args, as_object *obj, const ObjectURI &uri)
Call a member function of this object in an AS-compatible way.
Definition: Global_as.h:219
@ OBJECT_END_AMF0
Definition: AMF.h:56
void write(SimpleBuffer &buf, const std::string &str)
Write a string to an AMF buffer.
Definition: AMF.cpp:161
FunctionArgs< as_value > Args
Definition: fn_call.h:121
as_function * to_function() const
Return the value as a function only if it is a function.
Definition: as_value.cpp:499
A class to contain transferable arguments for a fn_call.
Definition: fn_call.h:57
std::string readString(const std::uint8_t *&pos, const std::uint8_t *end)
Read a string value from the buffer.
Definition: AMF.cpp:87
@ CLASS_DATE
Definition: namedStrings.h:208
bool writeAMF0(amf::Writer &w) const
Serialize value in AMF0 format.
Definition: as_value.cpp:759
@ DATE_AMF0
Definition: AMF.h:58
@ length
Definition: klash_part.cpp:329
bool writeNumber(double d)
Write a double.
Definition: AMFConverter.cpp:258
as_object * constructInstance(as_function &ctor, const as_environment &env, fn_call::Args &args)
Definition: as_function.cpp:47
@ OBJECT_AMF0
Definition: AMF.h:50
void writePlainString(SimpleBuffer &buf, const std::string &str, Type t)
Encode a plain short string to an AMF buffer.
Definition: AMF.cpp:133
@ ECMA_ARRAY_AMF0
Definition: AMF.h:55
Definition: as_object.h:805
@ NUMBER_AMF0
Definition: AMF.h:47
std::map< as_object *, size_t > OffsetTable
Definition: AMFConverter.h:59
@ CLASS_XML
Definition: namedStrings.h:257
bool writeBoolean(bool b)
Write a boolean.
Definition: AMFConverter.cpp:265
ActionScript value type.
Definition: as_value.h:95
as_object * createArray()
Construct an Array.
Definition: Global_as.cpp:207
@ REFERENCE_AMF0
Definition: AMF.h:54
Relay * relay() const
Access the as_object's Relay object.
Definition: as_object.h:620
Deserialize an AMF buffer to as_values.
Definition: AMFConverter.h:122
bool writePropertyName(const std::string &name)
Encode the name of an object's property.
Definition: AMFConverter.cpp:115
pixel_iterator< T > end(GnashImage &im)
Definition: ImageIterators.h:198
The Global object ultimately contains all objects in an ActionScript run.
Definition: Global_as.h:50
uri
Definition: test.py:12
string_table & getStringTable(const as_environment &env)
Definition: as_environment.cpp:639
double getTimeValue() const
Definition: Date_as.h:41
@ UNDEFINED_AMF0
Definition: AMF.h:53
Implements XML (AS2) and flash.xml.XMLDocument (AS3) class.
Definition: XML_as.h:45
@ STRING_AMF0
Definition: AMF.h:49
@ PROP_uuPROTOuu
Definition: namedStrings.h:118
ObjectURI getURI(const VM &vm, const std::string &str, bool lowerCaseHint=false)
Definition: VM.h:290
bool operator()(as_value &val, Type t=NOTYPE)
Create a type from current position in the AMF buffer.
Definition: AMFConverter.cpp:299
@ UNSUPPORTED_AMF0
Definition: AMF.h:60
void append(const void *inData, size_t size)
Append data to the buffer.
Definition: SimpleBuffer.h:123
bool writeUndefined()
Write an undefined value.
Definition: AMFConverter.cpp:273
std::size_t key
Definition: string_table.h:83
double readNumber(const std::uint8_t *&pos, const std::uint8_t *end)
Read a number from an AMF buffer.
Definition: AMF.cpp:65
bool writeObject(as_object *obj)
Write any simple Object type: not DisplayObjects.
Definition: AMFConverter.cpp:122
A visitor to check whether an array is strict or not.
Definition: Array_as.h:55
@ BOOLEAN_AMF0
Definition: AMF.h:48
void writePlainNumber(SimpleBuffer &buf, double d)
Write a number to an AMF buffer.
Definition: AMF.cpp:154
void appendNetworkShort(const std::uint16_t s)
Append 2 bytes to the buffer.
Definition: SimpleBuffer.h:154
@ b
Definition: GnashKey.h:148
SimpleBuffer data
Definition: LocalConnection_as.cpp:151
@ e
Definition: GnashKey.h:151
A simple buffer of bytes.
Definition: SimpleBuffer.h:38
ActionScript Function, either builtin or SWF-defined.
Definition: as_function.h:63
bool writeNull()
Write a null value.
Definition: AMFConverter.cpp:283