File indexing completed on 2024-04-14 14:31:58
0001 // Copyright (c) 2002 Rob Kaper <cap@capsi.com> 0002 // 0003 // This library is free software; you can redistribute it and/or 0004 // modify it under the terms of the GNU Lesser General Public 0005 // License version 2.1 as published by the Free Software Foundation. 0006 // 0007 // This library is distributed in the hope that it will be useful, 0008 // but WITHOUT ANY WARRANTY; without even the implied warranty of 0009 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 0010 // Lesser General Public License for more details. 0011 // 0012 // You should have received a copy of the GNU Lesser General Public License 0013 // along with this library; see the file COPYING.LIB. If not, write to 0014 // the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 0015 // Boston, MA 02110-1301, USA. 0016 0017 #ifndef LIBATLANTIC_AUCTION_H 0018 #define LIBATLANTIC_AUCTION_H 0019 0020 #include <QObject> 0021 0022 #include "libatlantic_export.h" 0023 0024 class Player; 0025 class Estate; 0026 0027 class LIBATLANTIC_EXPORT Auction : public QObject 0028 { 0029 Q_OBJECT 0030 0031 public: 0032 Auction(int auctionId, Estate *estate); 0033 virtual ~Auction(); 0034 0035 int auctionId() const { return m_auctionId; } 0036 Estate *estate() const { return m_estate; } 0037 0038 void setStatus(int status); 0039 int status() const { return m_status; } 0040 0041 void newBid(Player *player, int bid); 0042 0043 void update(bool force = false); 0044 0045 Q_SIGNALS: 0046 void changed(); 0047 void completed(); 0048 void bid(Auction *auction, int amount); 0049 void updateBid(Player *player, int amount); 0050 0051 private: 0052 bool m_changed; 0053 int m_auctionId, m_status; 0054 Estate *m_estate; 0055 }; 0056 0057 #endif