class CGPRSConnection

GPRS-specific implementation of the MAbstractConnection interface.

Inheritance:


Public Methods

[more] CGPRSConnection()
Default constructor.
[more] ~CGPRSConnection()
Default Destructor.
[more]bool Connect(const std::string& aAddress, int aPort)
Connects a gprs-plugin to a local service or local service to a gprs-plugin.
[more]bool Disconnect()
Kills the existing connection.
[more]void Close()
Explicitly closes the socket.
[more]int Write(const void* aOutBuf, int aLength)
Sends data to the other end of the connection.
[more]int Read(void* aInBuf, int aLength)
Reads data from an open connection.
[more]const std::string& GetRemoteAddress()
Returns connection's remote address.
[more]int GetFd()
Returns connection's file descriptor.
[more]bool Listen()
Sets the connection to the listening state.
[more]bool Listen(int aPort)
Sets the connection to the listening state.
[more]MAbstractConnection* AcceptL()
Accepts the incoming connection and returns a new connection object.
[more]bool IsListening()
Tells if the connection is listening.
[more]bool IsConnected()
Tells if the connection is established.
[more]bool HasData()
Tells if the connection has data waiting


Inherited from MAbstractConnection:


Documentation

GPRS-specific implementation of the MAbstractConnection interface. This class offers a unified interface through what GPRS can be used like any other transport medium in the PeerHood environment. Note that no instances of this class should be created directly. Instead, use the provided PeerHood factory class.

o CGPRSConnection()
Default constructor, sets the initial vatiables to their default values and creates a new local socket.

Returns:
none

o ~CGPRSConnection()
Default destructor, removes the local socket if listening. Similarly, the possibly open connection is closed.

Returns:
none

obool Connect(const std::string& aAddress, int aPort)
Creates connection between gprs-plugin and provided service. Connection is established using local sockets. When connection is established from service to plugin, DATA message is sent. This message contains receivers id and port information.

Parameters:
aAddress - The destination address. This can be string "toService" for connecting gprs-plugin to service. Otherwise connection is made from local service to gprs-plugin
aPort - Target port. This is reserved for future use.
Returns:
true if the connection could be established

obool Disconnect()
Kills the existing connection. If there's no connection or it could not be closed in a controlled way then the error code is returned. The existing connection will be closed regardless of the return value.

Returns:
true if the connection was dropped in a controlled manner

ovoid Close()
Explicitly closes the socket without any additional state checking, i.e. this function will execute even if there's no existing connection. This function is used by the PeerHood engine to ensure that no file descriptors are leaked.

Returns:
none

oint Write(const void* aOutBuf, int aLength)
Sends data to the other end of the connection. Note that this function is not endianess-safe.

Parameters:
aOutBuf - Buffer containing the data that should be written.
aLength - The number of bytes to be written.
Returns:
the number of bytes written or -1 in the case of an error

oint Read(void* aInBuf, int aLength)
Reads data from an open connection. Just like <code>Read</code> this function is not endianess-safe so it should be treated more like a standard Posix sequential socket.

Parameters:
aInBuf - Buffer where the data is read to.
aLength - The number of bytes that should be read.
Returns:
the number of bytes read or -1 in the case of an error

oconst std::string& GetRemoteAddress()
Returns connection's remote address. Note that the existence of the address doesn't mean that there's a connection established.

Returns:
connection's remote address

oint GetFd()
Returns connection's file descriptor. Other classes can have a direct access to the connection's socket (or similar entity) via this function's return value.

Returns:
connection's file descriptor or -1 if one isn't available

obool Listen()
Sets the connection to the listening state. This function must be called before any incoming connections targeted to this object can be accepted. This function will always listen for the service name specific port for example "exampleService1.local" If some other port is needed then the <code>Listen(int aPath)</code> should be used instead.

Returns:
true if successfull

obool Listen(int aPort)
Sets the connection to the listening state. This function must be called before any incoming connections targeted to this object can be accepted.

Parameters:
aPath - The path can be 0 for listening path for service, otherwise path for plugin is listened.
Returns:
true if successfull

oMAbstractConnection* AcceptL()
Accepts the incoming connection and returns a new connection object. If accepting fails then NULL is returned.

Returns:
new connection object or NULL in the case of an error

obool IsListening()
Tells if the connection is in the listening state or not.

Returns:
true if the connection is in the listening state

obool IsConnected()
Tells if the connection is established or not.

Returns:
true if the connection is established

obool HasData()
Waits for the connection to have data to read, and returns true

Returns:
true if the data is ready


This class has no child classes.
See Also:
MAbstractConnection

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.