discussionmanager.h

00001 /***************************************************************************
00002                           discussionmanager.h  -  description
00003                              -------------------
00004     begin                : mer mar 22 2006
00005     copyright            : (C) 2006 by
00006                 - Sylvain Archenault <sylvain.archenault@laposte.net>
00007                 - Yves Houpert <yves.houpert@insa-rouen.fr>
00008  ***************************************************************************/
00009 
00010 /***************************************************************************
00011  *                                                                         *
00012  *   This program is free software; you can redistribute it and/or modify  *
00013  *   it under the terms of the GNU General Public License as published by  *
00014  *   the Free Software Foundation; either version 2 of the License, or     *
00015  *   (at your option) any later version.                                   *
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 : //private methods
00083   void addWidget(const int contactID,ClientWidget* pWidget);
00084 
00085 private: // private members
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

Generated on Fri May 19 12:15:54 2006 for Bamboo Ch@t by  doxygen 1.4.6