21 class AMF0StringDecoder;
22 class AMF0PropertyDecoder;
23 class AMF0NumberDecoder;
25 const uint8_t*
DecodeAMF (
const uint8_t* data, std::shared_ptr<IAMF0> output);
64 virtual void Number(
double value) = 0;
65 virtual void Boolean(
bool flag) = 0;
66 virtual void String(std::string param) = 0;
70 virtual void Null() = 0;
73 virtual void EcmaArray(uint32_t elements) = 0;
91 virtual void Number(
double );
93 virtual void String(std::string );
104 virtual void Date(
double );
121 printf (
"number %f\n", value);
125 printf (
"boolean is '%s'\n", flag ?
"true" :
"false");
129 printf (
"String '%s'\n", param.c_str());
133 printf (
"object START\n");
137 printf (
"ObjectProperty '%s'\n", propetyName.c_str());
141 printf (
"movieclip\n");
149 printf (
"undefined\n");
153 printf (
"reference\n");
157 printf (
"ecmaArray with %u elements\n", elements);
161 printf (
"ecmaArrayKey '%s'\n", keyName.c_str());
165 printf (
"objectEnd\n");
169 printf (
"strictArray with %u elements\n", elements);
173 char prettyDateTime[128];
175 time_t timeSince1970 =
static_cast<time_t
> (date/1000.0);
177 tm* localTime = localtime(&timeSince1970);
178 strftime(prettyDateTime, 128,
"%c", localTime);
180 printf (
"%s\n", prettyDateTime);
184 printf (
"longString\n");
188 printf (
"unsupported\n");
192 printf (
"recordset\n");
196 printf (
"xmlDocument\n");
200 printf (
"typedObject\n");
209 virtual void String(std::string param);
221 virtual void String(std::string param);
238 virtual void Number(
double value);
bool mFoundProperty
Definition: amf0.h:230
virtual void ObjectProperty(std::string propertyName)=0
virtual void Number(double value)=0
const std::string & GetFoundValue() const
Definition: amf0.h:224
void Boolean(bool flag)
Definition: amf0.h:123
void ObjectEnd()
Definition: amf0.h:163
std::string mFoundValue
Definition: amf0.h:229
double mValue
Definition: amf0.h:242
void TypedObject()
Definition: amf0.h:198
AMFType
Definition: amf0.h:35
void XmlDocument()
Definition: amf0.h:194
virtual void Unsupported()=0
double GetValue() const
Definition: amf0.h:240
void Recordset()
Definition: amf0.h:190
void Null()
Definition: amf0.h:143
virtual void Undefined()=0
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
virtual void ObjectEnd()=0
const std::string mSearchTerm
Definition: amf0.h:228
void Movieclip()
Definition: amf0.h:139
void Undefined()
Definition: amf0.h:147
const uint8_t * DecodeAMF(const uint8_t *data, std::shared_ptr< IAMF0 > output)
virtual void XmlDocument()=0
void EcmaArrayKey(std::string keyName)
Definition: amf0.h:159
void Number(double value)
Definition: amf0.h:119
virtual void Reference()=0
virtual void String(std::string param)=0
void Reference()
Definition: amf0.h:151
void Unsupported()
Definition: amf0.h:186
std::string mCommandName
Definition: amf0.h:213
virtual void LongString()=0
virtual void EcmaArrayKey(std::string keyName)=0
virtual void Date(double date)=0
void ObjectProperty(std::string propetyName)
Definition: amf0.h:135
void String(std::string param)
Definition: amf0.h:127
virtual void Boolean(bool flag)=0
virtual void EcmaArray(uint32_t elements)=0
void Object()
Definition: amf0.h:131
void LongString()
Definition: amf0.h:182
virtual void Recordset()=0
virtual void TypedObject()=0
void EcmaArray(uint32_t elements)
Definition: amf0.h:155
void StrictArray(uint32_t elements)
Definition: amf0.h:167
const std::string & GetCommandName() const
Definition: amf0.h:211
void Date(double date)
Definition: amf0.h:171
virtual void StrictArray(uint32_t elements)=0
virtual void Movieclip()=0