00001 /* Copyright (C) 2006 Marc Maurer <uwog@uwog.net> 00002 * 00003 * This program is free software; you can redistribute it and/or 00004 * modify it under the terms of the GNU General Public License 00005 * as published by the Free Software Foundation; either version 2 00006 * of the License, or (at your option) any later version. 00007 * 00008 * This program is distributed in the hope that it will be useful, 00009 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00011 * GNU General Public License for more details. 00012 * 00013 * You should have received a copy of the GNU General Public License 00014 * along with this program; if not, write to the Free Software 00015 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 00016 * 02110-1301 USA. 00017 */ 00018 00019 #ifndef AP_DIALOG_COLLABORATIONACCOUNTS_H 00020 #define AP_DIALOG_COLLABORATIONACCOUNTS_H 00021 00022 #include "ut_types.h" 00023 #include "xap_Frame.h" 00024 #include "xap_Dialog.h" 00025 #include "xav_View.h" 00026 #include "ut_vector.h" 00027 #include <session/xp/AbiCollabSessionManager.h> 00028 #include <account/xp/Event.h> 00029 #include <account/xp/EventListener.h> 00030 00031 class ConnectionHandler; 00032 00033 extern pt2Constructor ap_Dialog_CollaborationAccounts_Constructor; 00034 00035 class AP_Dialog_CollaborationAccounts : public XAP_Dialog_NonPersistent, EventListener 00036 { 00037 public: 00038 AP_Dialog_CollaborationAccounts(XAP_DialogFactory * pDlgFactory, XAP_Dialog_Id id); 00039 virtual ~AP_Dialog_CollaborationAccounts(void); 00040 00041 virtual void runModal(XAP_Frame * pFrame) = 0; 00042 void createNewAccount(); 00043 void createEditAccount(AccountHandler* pHandler); 00044 00045 typedef enum { a_CLOSE } tAnswer; 00046 00047 AP_Dialog_CollaborationAccounts::tAnswer getAnswer(void) const; 00048 00049 protected: 00050 bool _addAccount(AccountHandler* pHandler); 00051 bool _deleteAccount(AccountHandler* pAccount); 00052 00053 AP_Dialog_CollaborationAccounts::tAnswer m_answer; 00054 }; 00055 00056 #endif /* AP_DIALOG_COLLABORATIONACCOUNTS_H */