MoSync 3.3
MAUtil::Connection Class Reference

An Environment-based communications class. Encapsulates MoSync's basic connection system, which supports, for example, TCP, HTTP and Bluetooth. More...

#include <MAUtil/Connection.h>

Inheritance diagram for MAUtil::Connection:
MAUtil::ConnListener MAUtil::BluetoothConnection MAUtil::HttpConnection Wormhole::HighLevelHttpConnection Wormhole::HighLevelBinaryDownloader Wormhole::HighLevelImageDownloader Wormhole::HighLevelTextDownloader

List of all members.

Public Member Functions

 Connection (ConnectionListener *listener, MAHandle conn=0)
virtual ~Connection ()
int connect (const char *url)
void close ()
void write (const void *src, int len)
void writeFromData (MAHandle data, int offset, int len)
void writeTo (const void *src, int len, const MAConnAddr &dst)
void recv (void *dst, int maxlen)
void recvToData (MAHandle data, int offset, int maxlen)
void recvFrom (void *dst, int maxlen, MAConnAddr *src)
void read (void *dst, int len)
void readToData (MAHandle data, int offset, int len)
void setListener (ConnectionListener *listener)
bool isOpen () const
int getAddr (MAConnAddr *dst)

Protected Member Functions

void recvMem (int prevRes)
void recvData (int prevRes)
virtual void connEvent (const MAConnEventData &data)

Protected Attributes

MAHandle mConn
ConnectionListenermListener
int mRemain
bytemDst
MAHandle mData
int mOffset
void(Connection::* mRecv )(int prevRes)

Detailed Description

An Environment-based communications class. Encapsulates MoSync's basic connection system, which supports, for example, TCP, HTTP and Bluetooth.


Constructor & Destructor Documentation

Parameters:
listenerWill recieve events from this Connection.
connOptional. If you have a connection handle, you can pass it here to wrap it in a Connection.
virtual MAUtil::Connection::~Connection ( ) [virtual]

Closes the connection, if open.

See also:
close()

Member Function Documentation

int MAUtil::Connection::connect ( const char *  url)

Reimplemented in MAUtil::BluetoothConnection.

Closes the connection, if open. Frees all resources allocated by this object. Allows this Connection object to be reused for further connections.

See also:
maConnClose()

Reimplemented in MAUtil::BluetoothConnection.

void MAUtil::Connection::write ( const void *  src,
int  len 
)

Causes ConnectionListener::connWriteFinished() to be called when the operation is complete.

See also:
maConnWrite()
Warning:
The source data must remain available until the operation is complete, so don't use local variables as input.
void MAUtil::Connection::writeFromData ( MAHandle  data,
int  offset,
int  len 
)

Causes ConnectionListener::connWriteFinished() to be called when the operation is complete.

See also:
maConnWriteFromData()
void MAUtil::Connection::writeTo ( const void *  src,
int  len,
const MAConnAddr dst 
)

Causes ConnectionListener::connWriteFinished() to be called when the operation is complete.

See also:
maConnWriteTo() dst may be discarded once this function returns.
void MAUtil::Connection::recv ( void *  dst,
int  maxlen 
)

Reads between 1 and maxlen bytes to dst. Causes ConnectionListener::connRecvFinished() to be called when the operation is complete. Use this function when you don't care how much data you get, as long as you get something.

void MAUtil::Connection::recvToData ( MAHandle  data,
int  offset,
int  maxlen 
)

Reads between 1 and maxlen bytes to data, starting at offset. Causes ConnectionListener::connRecvFinished() to be called when the operation is complete.

void MAUtil::Connection::recvFrom ( void *  dst,
int  maxlen,
MAConnAddr src 
)

Reads between 1 and maxlen bytes to dst. Stores the sender address in src. Causes ConnectionListener::connRecvFinished() to be called when the operation is complete.

Warning:
src must remain valid until the operation is complete.
See also:
maConnReadFrom()
void MAUtil::Connection::read ( void *  dst,
int  len 
)

Reads exactly len bytes to dst. Causes ConnectionListener::connReadFinished() to be called when the operation is complete. Use this function when you know exactly how much data you want, and are not interested in anything less.

void MAUtil::Connection::readToData ( MAHandle  data,
int  offset,
int  len 
)

Reads exactly len bytes to data, starting at offset. Causes ConnectionListener::connReadFinished() to be called when the operation is complete.

Replaces the listener for this object.

Warning:
If you do this while an operation is active, the new listener will recieve the callback, not the old one. This may break your program if it is not aware.

Returns true if the connection is open, false otherwise. The connection is considered open even during the connect() operation.

Retrieves the remote address of this connection.

Returns:
> 0 on success, < 0 on error.
void MAUtil::Connection::recvMem ( int  prevRes) [protected]
void MAUtil::Connection::recvData ( int  prevRes) [protected]
virtual void MAUtil::Connection::connEvent ( const MAConnEventData data) [protected, virtual]

Implements MAUtil::ConnListener.

Reimplemented in MAUtil::HttpConnection.


Member Data Documentation

int MAUtil::Connection::mRemain [protected]
int MAUtil::Connection::mOffset [protected]
void(Connection::* MAUtil::Connection::mRecv)(int prevRes) [protected]
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines