1 /**
2 * Whiteboard session manager
3 * Buddy list management facility
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_BUDDYLIST_MANAGER_H__
14 #define __WHITEBOARD_BUDDYLIST_MANAGER_H__
16 #include <string>
17 #include <sigc++/sigc++.h>
18 #include "jabber_whiteboard/typedefs.h"
20 namespace Inkscape {
22 namespace Whiteboard {
24 class BuddyListManager {
25 public:
26 BuddyListManager();
27 ~BuddyListManager();
28 void insert(std::string& jid);
29 void erase(std::string& jid);
30 BuddyList::iterator begin();
31 BuddyList::iterator end();
33 void addInsertListener(BuddyListListener listener);
34 void addEraseListener(BuddyListListener listener);
36 BuddyList& getList();
37 private:
38 BuddyList _bl;
39 BuddyListSignal _sig_insert;
40 BuddyListSignal _sig_erase;
42 };
44 }
46 }
48 #endif
50 /*
51 Local Variables:
52 mode:c++
53 c-file-style:"stroustrup"
54 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
55 indent-tabs-mode:nil
56 fill-column:99
57 End:
58 */
59 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :