Go to the documentation of this file.
19 #ifndef GNASH_NETCONNECTION_H
20 #define GNASH_NETCONNECTION_H
70 void call(
as_object* asCallback,
const std::string& methodName,
71 const std::vector<as_value>& args);
106 std::unique_ptr<IOChannel>
getStream(
const std::string&
name);
115 void createStream(
as_object* asCallback);
118 void addToURL(
const std::string&
url);
120 typedef std::list<std::unique_ptr<Connection> > Connections;
128 Connections _oldConnections;
131 std::unique_ptr<Connection> _currentConnection;
138 void startAdvanceTimer();
140 void stopAdvanceTimer();
@ PROP_ON_RESULT
Definition: namedStrings.h:173
void removeAdvanceCallback(ActiveRelay *obj)
Definition: movie_root.cpp:1464
void setConnected()
Definition: NetConnection_as.h:88
std::unique_ptr< IOChannel > getStream(const std::string &name)
Get an stream by name.
Definition: NetConnection_as.cpp:628
std::string name
Definition: LocalConnection_as.cpp:149
virtual void update()
Process connection stuff.
Definition: NetConnection_as.cpp:675
The base class for all ActionScript objects.
Definition: as_object.h:162
Top-level gnash exception.
Definition: GnashException.h:31
as_object * toObject(const as_value &v, VM &vm)
Convert an as_value to an object.
Definition: VM.cpp:457
@ CALL_BADVERSION
Definition: NetConnection_as.h:57
void log_debug(StringType msg, Args... args)
Definition: log.h:301
@ i
Definition: GnashKey.h:155
void netconnection_class_init(as_object &where, const ObjectURI &uri)
Definition: NetConnection_as.cpp:424
std::string typeName(const T &inst)
Definition: utility.h:93
#define _(String)
Definition: log.h:44
as_object & owner() const
Return the as_object that this Relay is attached to.
Definition: Relay.h:108
Anonymous namespace for callbacks, local functions, event handlers etc.
Definition: dbus_ext.cpp:41
void markReachableResources() const
Mark responders associated with remoting calls.
Definition: NetConnection_as.cpp:431
void notifyStatus(StatusCode code)
Notify the NetConnection onStatus handler of a change.
Definition: NetConnection_as.cpp:464
NetConnection_as(as_object *owner)
Definition: NetConnection_as.cpp:410
@ STRICT_ARRAY_AMF0
Definition: AMF.h:57
void close()
Process the close() method.
Definition: NetConnection_as.cpp:563
@ CONNECT_CLOSED
Definition: NetConnection_as.h:53
void connect()
Carry out the connect(null) method.
Definition: NetConnection_as.cpp:484
bool sendServerBW(RTMP &r)
Send the server bandwidth.
Definition: RTMP.cpp:402
@ 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
Global_as & getGlobal(const as_environment &env)
Definition: as_environment.cpp:651
VM & getVM(const as_environment &env)
Definition: as_environment.h:222
NetConnection ActionScript class.
Definition: NetConnection_as.h:46
const std::string & getPlayerVersion() const
Get version of the player, in a compatible representation.
Definition: VM.cpp:86
#define UNUSED(x)
Definition: utility.h:113
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
as_object * createObject(const Global_as &gl)
Definition: Global_as.cpp:303
void reserve(size_t newCapacity)
Ensure at least 'newCapacity' bytes are allocated for this buffer.
Definition: SimpleBuffer.h:94
@ CONNECT_FAILED
Definition: NetConnection_as.h:51
bool handleInvoke(rtmp::RTMP &r, FakeNC &nc, const std::uint8_t *payload, const std::uint8_t *end)
Definition: rtmpget.cpp:541
Parameters/environment for builtin or user-defined functions callable from ActionScript.
Definition: fn_call.h:118
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
@ r
Definition: GnashKey.h:164
void write(SimpleBuffer &buf, const std::string &str)
Write a string to an AMF buffer.
Definition: AMF.cpp:161
A StreamProvider makes IOChannels available to the core on request.
Definition: StreamProvider.h:50
virtual std::unique_ptr< IOChannel > getStream(const URL &url, bool namedCacheFile=false) const
Returned stream ownership is transferred to caller.
Definition: StreamProvider.cpp:61
void for_each(C &container, R(T::*pmf)(const A &), const A &arg)
Definition: Renderer_ogl.cpp:690
void dump_args(std::ostream &os) const
Dump arguments to given output stream.
Definition: fn_call.h:214
const RunResources & getRunResources(const as_object &o)
Get the RunResources from an as_object.
Definition: as_object.cpp:1142
@ PROP_ON_STATUS
Definition: namedStrings.h:179
std::string readString(const std::uint8_t *&pos, const std::uint8_t *end)
Read a string value from the buffer.
Definition: AMF.cpp:87
#define IF_VERBOSE_ASCODING_ERRORS(x)
Definition: log.h:397
code
Definition: GnashKey.h:44
A native type that requires periodic updates from the core (movie_root).
Definition: Relay.h:80
@ CONNECT_APPSHUTDOWN
Definition: NetConnection_as.h:55
@ h
Definition: GnashKey.h:154
void setURI(const std::string &uri)
Definition: NetConnection_as.cpp:584
void writePlainString(SimpleBuffer &buf, const std::string &str, Type t)
Encode a plain short string to an AMF buffer.
Definition: AMF.cpp:133
size_t size() const
Return size of the buffer.
Definition: SimpleBuffer.h:75
std::uint8_t * data()
Get a pointer to start of data. May be NULL if size==0.
Definition: SimpleBuffer.h:81
Args::size_type nargs
Number of arguments to this ActionScript function call.
Definition: fn_call.h:178
@ NUMBER_AMF0
Definition: AMF.h:47
void saveStreamingMedia(bool value)
Definition: rc.h:298
@ CONNECT_REJECTED
Definition: NetConnection_as.h:54
Class to group together per-run and external resources for Gnash.
Definition: RunResources.h:54
ActionScript value type.
Definition: as_value.h:95
void init_readonly_property(const std::string &key, as_function &getter, int flags=DefaultFlags)
Use this method for read-only properties.
Definition: as_object.cpp:734
bool isConnected() const
Definition: NetConnection_as.h:92
const Args::value_type & arg(unsigned int n) const
Access a particular argument.
Definition: fn_call.h:194
void replyBWCheck(rtmp::RTMP &r, FakeNC &, double txn)
Definition: rtmpget.cpp:250
void log_aserror(StringType msg, Args... args)
Definition: log.h:331
movie_root & getRoot(const as_environment &env)
Definition: as_environment.cpp:645
void call(as_object *asCallback, const std::string &methodName, const std::vector< as_value > &args)
Definition: NetConnection_as.cpp:591
@ CALL_FAILED
Definition: NetConnection_as.h:56
std::string url
Definition: gnash.cpp:59
size_t capacity() const
Return capacity of the buffer.
Definition: SimpleBuffer.h:78
@ f
Definition: GnashKey.h:152
pixel_iterator< T > end(GnashImage &im)
Definition: ImageIterators.h:198
static RcInitFile & getDefaultInstance()
Return the default instance of RC file.
Definition: rc.cpp:61
int getSWFVersion(const as_environment &env)
Definition: as_environment.cpp:657
as_object * registerBuiltinClass(as_object &where, Global_as::ASFunction ctor, Global_as::Properties p, Global_as::Properties c, const ObjectURI &uri)
Register a built-in class.
Definition: Global_as.h:144
uri
Definition: test.py:12
void log_security(StringType msg, Args... args)
Definition: log.h:319
virtual ~NetConnection_as()
Definition: NetConnection_as.cpp:418
@ CONNECT_SUCCESS
Definition: NetConnection_as.h:52
@ STRING_AMF0
Definition: AMF.h:49
void foreachSecond(T begin, T end, U op)
Call a functor on the second element of each element in a range.
Definition: GnashAlgorithm.h:73
ObjectURI getURI(const VM &vm, const std::string &str, bool lowerCaseHint=false)
Definition: VM.h:290
const URL & baseURL() const
The base URL that should be used to resolve all relative URLs.
Definition: StreamProvider.h:117
std::map< std::string, std::string, StringNoCaseLessThan > RequestHeaders
Definition: NetworkAdapter.h:43
double readNumber(const std::uint8_t *&pos, const std::uint8_t *end)
Read a number from an AMF buffer.
Definition: AMF.cpp:65
const Args::container_type & getArgs() const
Definition: fn_call.h:199
Uniform Resource Locator.
Definition: URL.h:35
@ o
Definition: GnashKey.h:161
void log_unimpl(StringType msg, Args... args)
Definition: log.h:289
std::string hexify(const unsigned char *p, size_t length, bool ascii)
Convert a sequence of bytes to hex or ascii format.
Definition: log.cpp:48
A URI for describing as_objects.
Definition: ObjectURI.h:45
void resize(size_t newSize)
Resize the buffer.
Definition: SimpleBuffer.h:87
const std::string & getURI() const
Definition: NetConnection_as.h:98
StatusCode
Definition: NetConnection_as.h:50
@ b
Definition: GnashKey.h:148
@ e
Definition: GnashKey.h:151
void addAdvanceCallback(ActiveRelay *obj)
Definition: movie_root.cpp:1458
const StreamProvider & streamProvider() const
Get a StreamProvider instance.
Definition: RunResources.h:76
std::string validateURL() const
Make the stored URI into a valid and checked URL.
Definition: NetConnection_as.cpp:444
void setReachable() const
Mark this resource as being reachable.
Definition: GC.h:92