File indexing completed on 2024-06-02 04:07:10

0001 /*
0002  * Copyright (C) 2003  Justin Karneges
0003  *
0004  * This library is free software; you can redistribute it and/or
0005  * modify it under the terms of the GNU Lesser General Public
0006  * License as published by the Free Software Foundation; either
0007  * either version 2
0008    of the License, or (at your option) any later version.1 of the License, or (at your option) any later version.
0009  *
0010  * This library is distributed in the hope that it will be useful,
0011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0013  * Lesser General Public License for more details.
0014  *
0015  * You should have received a copy of the GNU Lesser General Public
0016  * License along with this library; if not, write to the Free Software
0017  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
0018  *
0019  */
0020 
0021 #ifndef XMPP_LIVEROSTERITEM_H
0022 #define XMPP_LIVEROSTERITEM_H
0023 
0024 #include "xmpp_status.h"
0025 #include "xmpp_resourcelist.h"
0026 #include "xmpp_rosteritem.h"
0027 
0028 namespace XMPP
0029 {
0030     class LiveRosterItem : public RosterItem
0031     {
0032     public:
0033         LiveRosterItem(const Jid &j="");
0034         LiveRosterItem(const RosterItem &);
0035         ~LiveRosterItem() override;
0036 
0037         void setRosterItem(const RosterItem &);
0038 
0039         ResourceList & resourceList();
0040         ResourceList::Iterator priority();
0041 
0042         const ResourceList & resourceList() const;
0043         ResourceList::ConstIterator priority() const;
0044 
0045         bool isAvailable() const;
0046         const Status & lastUnavailableStatus() const;
0047         bool flagForDelete() const;
0048 
0049         void setLastUnavailableStatus(const Status &);
0050         void setFlagForDelete(bool);
0051 
0052     private:
0053         ResourceList v_resourceList;
0054         Status v_lastUnavailableStatus;
0055         bool v_flagForDelete;
0056     };
0057 }
0058 
0059 #endif