Content area
Full Text
gloox was born as part of a university project (XMPPGrid: A Grid Framework) that used Jabber/XMPP as a transport protocol. Because, at that time, there were no C++ XMPP libraries available that suited my needs, I decided to roll my own.
gloox (http://camaya.net/gloox) heavily uses the Observer Pattern. There are listeners ("handlers" in gloox-speak) for almost every imaginable event that can occur, from connection establishment to error conditions. After a connection has been established, everything is event driven, and simple applications, such as bots, can easily do without a mainloop or threads. On the other hand, gloox exposes the necessary interface to manually initiate fetching of data from the socket.
Right after the XML parser receives a complete stanza, it is parsed into a Stanza object that offers a convenient interface to take apart such an...