1 /**
2 * Whiteboard session manager
3 * Chatroom message handler
4 *
5 * Authors:
6 * David Yip <yipdw@rose-hulman.edu>
7 *
8 * Copyright (c) 2005 Authors
9 *
10 * Released under GNU GPL, read the file 'COPYING' for more information
11 */
13 #ifndef __WHITEBOARD_CHAT_HANDLER_H__
14 #define __WHITEBOARD_CHAT_HANDLER_H__
16 extern "C" {
17 #include <loudmouth/loudmouth.h>
18 }
20 namespace Inkscape {
22 namespace Whiteboard {
24 class SessionManager;
27 // TODO: find some way to better integrate this with the rest of the message
28 // handling framework (i.e. message-processors.cpp, message-handler.cpp,
29 // message-contexts.cpp)
30 class ChatMessageHandler {
31 public:
32 ChatMessageHandler(SessionManager* sm);
33 ~ChatMessageHandler();
35 LmHandlerResult parse(LmMessage* message);
37 private:
38 LmHandlerResult _finishConnection();
39 void _handleError(char const* errcode);
41 SessionManager* _sm;
43 // noncopyable, nonassignable
44 ChatMessageHandler(ChatMessageHandler&);
45 void operator=(ChatMessageHandler&);
46 };
48 }
50 }
52 #endif
54 /*
55 Local Variables:
56 mode:c++
57 c-file-style:"stroustrup"
58 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
59 indent-tabs-mode:nil
60 fill-column:99
61 End:
62 */
63 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :