ManaPlus
inventoryhandler.h
Go to the documentation of this file.
1 /*
2  * The ManaPlus Client
3  * Copyright (C) 2004-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_EA_INVENTORYHANDLER_H
25 #define NET_EA_INVENTORYHANDLER_H
26 
27 #include "localconsts.h"
28 
29 #include "net/inventoryhandler.h"
30 
31 #include <queue>
32 
33 namespace Ea
34 {
35 
36 typedef std::queue<BeingId> PickupQueue;
37 
39 {
40  public:
42 
43  ~InventoryHandler() override;
44 
45  void clear() const override;
46 
47  bool canSplit(const Item *const item) const
48  override final A_CONST A_WARN_UNUSED;
49 
50  void splitItem(const Item *const item,
51  const int amount) const override final;
52 
53  void moveItem(const int oldIndex,
54  const int newIndex) const override final;
55 
56  size_t getSize(const InventoryTypeT type) const override final
57  A_CONST A_WARN_UNUSED;
58 
59  static void pushPickup(const BeingId floorId);
60 
61  void destroyStorage() const override final;
62 
63  void forgotStorage() const override final;
64 
65  Inventory *getStorage() const override final;
66 
67  protected:
69 };
70 
71 } // namespace Ea
72 
73 #endif // NET_EA_INVENTORYHANDLER_H
int BeingId
Definition: beingid.h:30
size_t getSize(const InventoryTypeT type) const A_CONST
static void pushPickup(const BeingId floorId)
void moveItem(const int oldIndex, const int newIndex) const
bool canSplit(const Item *const item) const A_CONST
Inventory * getStorage() const
void splitItem(const Item *const item, const int amount) const
Definition: item.h:50
InventoryType ::T InventoryTypeT
Definition: inventorytype.h:42
#define A_WARN_UNUSED
Definition: localconsts.h:161
#define notfinal
Definition: localconsts.h:261
#define A_DELETE_COPY(func)
Definition: localconsts.h:53
std::queue< BeingId > PickupQueue