Gnash  0.8.11dev
Public Types | Public Member Functions | List of all members
gnash::NetConnection_as Class Reference

NetConnection ActionScript class. More...

#include <NetConnection_as.h>

Inheritance diagram for gnash::NetConnection_as:
gnash::ActiveRelay gnash::Relay

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)
virtual ~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)
void close ()
 Process the close() method.
bool connect (const std::string &uri)
 Process the connect(uri) method.
void connect ()
 Carry out the connect(null) method.
void setConnected ()
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< IOChannelgetStream (const std::string &name)
 Get an stream by name.
void markReachableResources () const
 Mark responders associated with remoting calls.
- Public Member Functions inherited from gnash::ActiveRelay
 ActiveRelay (as_object *owner)
virtual ~ActiveRelay ()
 Make sure we are removed from the list of callbacks on destruction.
virtual void setReachable ()
 Mark any other reachable resources, and finally mark our owner.
virtual void clean ()
 Remove the ActiveRelay from movie_root's callback set.
as_objectowner () const
 Return the as_object that this Relay is attached to.
- Public Member Functions inherited from gnash::Relay
virtual ~Relay ()=0

Detailed Description

NetConnection ActionScript class.

Provides interfaces to load data from an URL

Member Enumeration Documentation

Enumerator:
CONNECT_FAILED 
CONNECT_SUCCESS 
CONNECT_CLOSED 
CONNECT_REJECTED 
CONNECT_APPSHUTDOWN 
CALL_FAILED 
CALL_BADVERSION 

Constructor & Destructor Documentation

gnash::NetConnection_as::NetConnection_as ( as_object owner)
gnash::NetConnection_as::~NetConnection_as ( )
virtual

Member Function Documentation

void gnash::NetConnection_as::call ( as_object asCallback,
const std::string &  methodName,
const std::vector< as_value > &  args 
)

References _, and IF_VERBOSE_ASCODING_ERRORS.

void gnash::NetConnection_as::close ( )

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 gnash::key::c, CONNECT_CLOSED, and notifyStatus().

Referenced by connect().

bool gnash::NetConnection_as::connect ( const std::string &  uri)

Process the connect(uri) method.

Return false if the connection is disallowed or invalid, true if a connection will be attempted.

References _, gnash::StreamProvider::allow(), assert, gnash::StreamProvider::baseURL(), close(), CONNECT_FAILED, gnash::getRunResources(), notifyStatus(), gnash::ActiveRelay::owner(), gnash::RunResources::streamProvider(), and url.

void gnash::NetConnection_as::connect ( )

Carry out the connect(null) method.

Called on NetConnection.connect(null).

There is no return because this attempt is always considered be be successful.

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)
const std::string& gnash::NetConnection_as::getURI ( ) const
inline
bool gnash::NetConnection_as::isConnected ( ) const
inline
void gnash::NetConnection_as::markReachableResources ( ) const
virtual

Mark responders associated with remoting calls.

Reimplemented from gnash::ActiveRelay.

References gnash::renderer::opengl::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::createObject(), gnash::getGlobal(), gnash::as_object::init_member(), gnash::ActiveRelay::owner(), and gnash::NSV::PROP_ON_STATUS.

Referenced by close(), and connect().

void gnash::NetConnection_as::setConnected ( )
inline
void gnash::NetConnection_as::setURI ( const std::string &  uri)
void gnash::NetConnection_as::update ( )
virtual

Process connection stuff.

If there are no connections we can stop the timer.

Implements gnash::ActiveRelay.

References gnash::key::i.

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::StreamProvider::allow(), assert, gnash::StreamProvider::baseURL(), gnash::getRunResources(), gnash::ActiveRelay::owner(), and gnash::RunResources::streamProvider().


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