00001 #ifndef __msn_invitation_h__ 00002 #define __msn_invitation_h__ 00003 00004 /* 00005 * msn_invitation.h 00006 * libmsn 00007 * 00008 * Created by Mark Rowe on Mon Mar 22 2004. 00009 * Copyright (c) 2004 Mark Rowe. All rights reserved. 00010 * 00011 * This program is free software; you can redistribute it and/or modify 00012 * it under the terms of the GNU General Public License as published by 00013 * the Free Software Foundation; either version 2 of the License, or 00014 * (at your option) any later version. 00015 * 00016 * This program is distributed in the hope that it will be useful, 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00019 * GNU General Public License for more details. 00020 * 00021 * You should have received a copy of the GNU General Public License 00022 * along with this program; if not, write to the Free Software 00023 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00024 */ 00025 00026 00027 #include <string> 00028 #include <msn/passport.h> 00029 00030 namespace MSN 00031 { 00032 00033 class SwitchboardServerConnection; 00034 00035 class Invitation 00036 { 00037 public: 00038 enum ApplicationType 00039 { 00040 MSNFTP = 1 00041 }; 00042 ApplicationType application; 00043 std::string cookie; 00044 Passport otherUser; 00045 SwitchboardServerConnection *switchboardConnection; 00046 00047 Invitation(ApplicationType application_, const std::string & cookie_, 00048 Passport otherUser_, SwitchboardServerConnection * switchboardConnection_) : 00049 application(application_), cookie(cookie_), 00050 otherUser(otherUser_), switchboardConnection(switchboardConnection_) {}; 00051 virtual ~Invitation() {}; 00052 00053 virtual void invitationWasAccepted(const std::string & body) = 0; 00054 virtual void invitationWasCanceled(const std::string & body) = 0; 00055 00056 bool invitationWasSent(); 00057 }; 00058 } 00059 00060 #endif