libglass::Messenger< T, T, T > Class Template Reference

#include <messenger.h>

Inheritance diagram for libglass::Messenger< T, T, T >:

libglass::_Messenger libglass::PluginInterface

List of all members.

Public Member Functions

 Messenger (const char *name, void(*func)(T &data)=NULL) throw (Exception)
bool getMessage (nodeId id, string &message, bool block=false)
bool setMessageHandler (void(*func)(string &message))
bool setHandler (void(*func)(SerializableObject *o))

Protected Member Functions

bool pushMessage (chain &c)

Protected Attributes

std::queue< stringq
void(* handler )(T &)


Detailed Description

template<typename T, Serializer *, T = toString<T>, Unserializer *, T = fromString<T>>
class libglass::Messenger< T, T, T >

Message class

Definition at line 133 of file messenger.h.


Constructor & Destructor Documentation

template<typename T , Serializer *, T = toString<T>, Unserializer *, T = fromString<T>>
libglass::Messenger< T, T, T >::Messenger ( const char *  name,
void(*)(T &data)  func = NULL 
) throw (Exception) [inline]

Definition at line 143 of file messenger.h.


Member Function Documentation

template<typename T , Serializer *, T = toString<T>, Unserializer *, T = fromString<T>>
bool libglass::Messenger< T, T, T >::getMessage ( nodeId  id,
string message,
bool  block = false 
)

Gets a message from a given node.

Parameters:
id The id of the node that you want to get a message from.
message A string where the message will be stored.
block If true, the call will block until a message arrives.
Return values:
true if a package was available and successfully stored in message.
false otherwise.
See also:
sendMessage().

template<typename T , Serializer *, T = toString<T>, Unserializer *, T = fromString<T>>
bool libglass::Messenger< T, T, T >::pushMessage ( chain  )  [inline, protected, virtual]

Enqueues locally a messaged received by the network.

Parameters:
s The packed message.
Return values:
True if successfully queued.
False if an error occurred.

Implements libglass::_Messenger.

Definition at line 138 of file messenger.h.

template<typename T , Serializer *, T = toString<T>, Unserializer *, T = fromString<T>>
bool libglass::Messenger< T, T, T >::setHandler ( void(*)(SerializableObject *o)  func  ) 

Sets a handler.

If the queue is not empty, the handler is called for every event in queue.

The handler is responsible for freeing the object.

Return values:
True if successfull.
False otherwise.

template<typename T , Serializer *, T = toString<T>, Unserializer *, T = fromString<T>>
bool libglass::Messenger< T, T, T >::setMessageHandler ( void(*)(string &message)  func  ) 


Member Data Documentation

template<typename T , Serializer *, T = toString<T>, Unserializer *, T = fromString<T>>
void(* libglass::Messenger< T, T, T >::handler)(T &) [protected]

template<typename T , Serializer *, T = toString<T>, Unserializer *, T = fromString<T>>
std::queue<string> libglass::Messenger< T, T, T >::q [protected]

Definition at line 135 of file messenger.h.


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

Generated on Fri May 28 13:19:01 2010 for libGlass by  doxygen 1.5.8