NetConnection ActionScript class. More...
#include <NetConnection_as.h>
Public Types | |
enum | StatusCode { CONNECT_FAILED, CONNECT_SUCCESS, CONNECT_CLOSED, CONNECT_REJECTED, CONNECT_APPSHUTDOWN, CALL_FAILED, CALL_BADVERSION } |
Public Member Functions | |
NetConnection_as (as_object *owner) | |
~NetConnection_as () | |
virtual void | update () |
Process connection stuff. | |
std::string | validateURL () const |
Make the stored URI into a valid and checked URL. | |
void | call (as_object *asCallback, const std::string &methodName, const std::vector< as_value > &args, size_t firstArg) |
void | close () |
Process the close() method. | |
void | connect (const std::string &uri) |
Process the connect(uri) method. | |
void | connect () |
Carry out the connect(null) method. | |
bool | isConnected () const |
void | setURI (const std::string &uri) |
const std::string & | getURI () const |
void | notifyStatus (StatusCode code) |
Notify the NetConnection onStatus handler of a change. | |
std::auto_ptr< IOChannel > | getStream (const std::string &name) |
Get an stream by name. | |
void | markReachableResources () const |
Mark responders associated with remoting calls. |
NetConnection ActionScript class.
Provides interfaces to load data from an URL
gnash::NetConnection_as::NetConnection_as | ( | as_object * | owner | ) |
gnash::NetConnection_as::~NetConnection_as | ( | ) |
References gnash::deleteChecked().
void gnash::NetConnection_as::call | ( | as_object * | asCallback, | |
const std::string & | methodName, | |||
const std::vector< as_value > & | args, | |||
size_t | firstArg | |||
) |
void gnash::NetConnection_as::close | ( | void | ) |
Process the close() method.
FIXME: This should close an active connection as well as setting the appropriate properties.
Queue the current call queue if it has pending calls
TODO: what should actually happen here? Should an attached NetStream object be interrupted?
References CONNECT_CLOSED, and notifyStatus().
Referenced by connect().
void gnash::NetConnection_as::connect | ( | const std::string & | uri | ) |
Process the connect(uri) method.
References _, gnash::URLAccessManager::allow(), close(), CONNECT_FAILED, gnash::getRunResources(), IF_VERBOSE_ASCODING_ERRORS, notifyStatus(), gnash::ActiveRelay::owner(), gnash::URL::protocol(), and url.
void gnash::NetConnection_as::connect | ( | ) |
Carry out the connect(null) method.
Called on NetConnection.connect(null).
The status notification happens immediately, isConnected becomes true.
References close(), CONNECT_SUCCESS, and notifyStatus().
std::auto_ptr< IOChannel > gnash::NetConnection_as::getStream | ( | const std::string & | name | ) |
Get an stream by name.
References gnash::RunResources::baseURL(), gnash::RcInitFile::getDefaultInstance(), gnash::getRunResources(), gnash::StreamProvider::getStream(), gnash::ActiveRelay::owner(), gnash::RunResources::streamProvider(), and url.
Referenced by gnash::NetStream_as::play().
const std::string& gnash::NetConnection_as::getURI | ( | ) | const [inline] |
bool gnash::NetConnection_as::isConnected | ( | ) | const [inline] |
Referenced by gnash::NetStream_as::play().
void gnash::NetConnection_as::markReachableResources | ( | ) | const [virtual] |
Mark responders associated with remoting calls.
Reimplemented from gnash::ActiveRelay.
References gnash::for_each(), gnash::ActiveRelay::owner(), and gnash::GcResource::setReachable().
void gnash::NetConnection_as::notifyStatus | ( | StatusCode | code | ) |
Notify the NetConnection onStatus handler of a change.
This is a new normal object each time (see NetConnection.as)
References gnash::Global_as::createObject(), gnash::getGlobal(), gnash::as_object::init_member(), gnash::key::o, gnash::ActiveRelay::owner(), and gnash::NSV::PROP_ON_STATUS.
void gnash::NetConnection_as::setURI | ( | const std::string & | uri | ) |
References gnash::as_object::init_readonly_property(), and gnash::ActiveRelay::owner().
void gnash::NetConnection_as::update | ( | ) | [virtual] |
Process connection stuff.
Implements gnash::ActiveRelay.
std::string gnash::NetConnection_as::validateURL | ( | ) | const |
Make the stored URI into a valid and checked URL.
FIXME: this should not use _uri, but rather take a URL argument. Validation should probably be done on connect() only and return a bool indicating validity. That can be used to return a failure for invalid or blocked URLs.
References _, gnash::URLAccessManager::allow(), gnash::getRunResources(), gnash::ActiveRelay::owner(), and gnash::URL::str().