00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef DISCUSSIONMANAGER_H
00019 #define DISCUSSIONMANAGER_H
00020
00021 #include <map>
00022 #include <Kernel/basemanager.h>
00023
00024 class ClientWidget;
00025 class Contact;
00026
00037 class DiscussionManager : public BaseManager
00038 {
00039 public:
00043 DiscussionManager(KernelMessenger& rKernel, ListeWidget &rWidget);
00044
00046 ~DiscussionManager();
00047
00051 void closeDiscussion(const int contactID);
00052
00059 ClientWidget* startNewDiscussion(const Contact& contact);
00060
00068 void newMessage(const Contact& contact, const std::string& message);
00069
00071 void closeAll();
00072
00077 ClientWidget* getWidget(const int contactID) const;
00078
00079 private :
00083 void addWidget(const int contactID,ClientWidget* pWidget);
00084
00085 private:
00087 std::map<const int,ClientWidget*> m_listDiscussion;
00088
00089 };
00090
00091 typedef std::map<const int, ClientWidget*>::iterator DiscussionIt;
00092 typedef std::map<const int, ClientWidget*>::const_iterator DiscussionConstIt;
00093
00094 #endif