ManaPlus
partyhandler.h
Go to the documentation of this file.
1 /*
2  * The ManaPlus Client
3  * Copyright (C) 2009 The Mana World Development Team
4  * Copyright (C) 2009-2010 The Mana Developers
5  * Copyright (C) 2011-2019 The ManaPlus Developers
6  * Copyright (C) 2019-2021 Andrei Karas
7  *
8  * This file is part of The ManaPlus Client.
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program. If not, see <http://www.gnu.org/licenses/>.
22  */
23 
24 #ifndef NET_PARTYHANDLER_H
25 #define NET_PARTYHANDLER_H
26 
27 #include "localconsts.h"
28 
29 #include "enums/net/partyshare.h"
30 
32 
33 class Being;
34 
35 namespace Net
36 {
37 
39 {
40  public:
42  { }
43 
45 
46  virtual ~PartyHandler()
47  { }
48 
49  virtual void create(const std::string &name) const = 0;
50 
51  virtual void join(const int partyId) const = 0;
52 
53  virtual void invite(const std::string &name) const = 0;
54 
55  virtual void leave() const = 0;
56 
57  virtual void kick(const Being *const player) const = 0;
58 
59  virtual void kick(const std::string &name) const = 0;
60 
61  virtual void chat(const std::string &text) const = 0;
62 
64 
65  virtual void setShareExperience(const PartyShareT share) const = 0;
66 
68 
69  virtual void setShareItems(const PartyShareT share) const = 0;
70 
72 
73  virtual void setShareAutoItems(const PartyShareT share) const = 0;
74 
75  virtual void changeLeader(const std::string &name) const = 0;
76 
77  virtual void allowInvite(const bool allow) const = 0;
78 
79  virtual void clear() const = 0;
80 
81  virtual void inviteResponse(const int partyId,
82  const bool accept) const = 0;
83 
84  virtual ChatTab *getTab() const = 0;
85 };
86 
87 } // namespace Net
88 
90 
91 #endif // NET_PARTYHANDLER_H
Definition: being.h:96
virtual void leave() const =0
virtual PartyShareT getShareExperience() const =0
virtual void changeLeader(const std::string &name) const =0
virtual void kick(const std::string &name) const =0
virtual void invite(const std::string &name) const =0
virtual void clear() const =0
virtual void join(const int partyId) const =0
virtual void create(const std::string &name) const =0
virtual void inviteResponse(const int partyId, const bool accept) const =0
virtual void allowInvite(const bool allow) const =0
virtual void setShareAutoItems(const PartyShareT share) const =0
virtual void chat(const std::string &text) const =0
virtual ChatTab * getTab() const =0
virtual void setShareExperience(const PartyShareT share) const =0
virtual void kick(const Being *const player) const =0
virtual void setShareItems(const PartyShareT share) const =0
virtual PartyShareT getShareAutoItems() const =0
virtual PartyShareT getShareItems() const =0
#define A_WARN_UNUSED
Definition: localconsts.h:161
#define notfinal
Definition: localconsts.h:261
#define A_DELETE_COPY(func)
Definition: localconsts.h:53
TcpNet::Socket accept(const TcpNet::Socket sock)
Definition: sdltcpnet.cpp:198
Net::PartyHandler * partyHandler
Definition: net.cpp:94
PartyShare ::T PartyShareT
Definition: partyshare.h:36