Port things from MSN to WLM plugin:
[kdenetwork.git] / kopete / protocols / groupwise / libgroupwise / chatroommanager.h
blob0aa2ab2090ce25199726ddb68f3b5d8d894b52c2
1 /*
2 Kopete Groupwise Protocol
3 chatroommanager.h - tracks our knowledge of server side chatrooms
5 Copyright (c) 2005 SUSE Linux Products GmbH http://www.suse.com
7 Kopete (c) 2002-2005 by the Kopete developers <kopete-devel@kde.org>
9 *************************************************************************
10 * *
11 * This library is free software; you can redistribute it and/or *
12 * modify it under the terms of the GNU Lesser General Public *
13 * License as published by the Free Software Foundation; either *
14 * version 2 of the License, or (at your option) any later version. *
15 * *
16 *************************************************************************
19 #ifndef CHATROOMMANAGER_H
20 #define CHATROOMMANAGER_H
22 #include <qobject.h>
24 #include "gwchatrooms.h"
25 #include "libgroupwise_export.h"
27 class Client;
29 /**
30 * Keeps a record of the server side chatrooms
31 * @author SUSE Linux Products GmbH
33 class LIBGROUPWISE_EXPORT ChatroomManager : public QObject
35 Q_OBJECT
36 public:
37 ChatroomManager( Client * client);
38 ~ChatroomManager();
39 GroupWise::ChatroomMap rooms();
40 void requestProperties( const QString & displayName );
41 void updateRooms();
42 void updateCounts();
43 signals:
44 void gotProperties( const GroupWise::Chatroom & );
45 void updated();
46 protected:
47 void getChatrooms( bool refresh );
48 protected slots:
49 /**
50 * Used to initialise the list of chatrooms in response to a SearchChatTask.
52 void slotGotChatroomList();
53 /**
54 * Used to update the user counts of chatrooms.
56 void slotGotChatCounts();
57 /**
58 * Get the properties of a specific room.
60 void slotGotChatProperties();
61 private:
62 Client * m_client;
63 GroupWise::ChatroomMap m_rooms;
64 bool m_replace;
67 #endif