summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--src/player_relations.cpp16
-rw-r--r--src/player_relations.h117
3 files changed, 79 insertions, 59 deletions
diff --git a/ChangeLog b/ChangeLog
index 834a8c8a..1cd199eb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-06-22 Bjørn Lindeijer <bjorn@lindeijer.nl>
+
+ * src/player_relations.h: Fixed warning about missing virtual
+ destructor.
+
2008-06-17 Fate <fate.tmw@googlemail.com>
* src/net/tradehandler.cpp: bug #333: Suppress `trade with X cancelled'
diff --git a/src/player_relations.cpp b/src/player_relations.cpp
index f7e04712..610f5d04 100644
--- a/src/player_relations.cpp
+++ b/src/player_relations.cpp
@@ -83,7 +83,7 @@ PlayerRelation::PlayerRelation(relation relation)
mRelation = relation;
}
-PlayerRelationsManager::PlayerRelationsManager(void) :
+PlayerRelationsManager::PlayerRelationsManager() :
mPersistIgnores(false),
mDefaultPermissions(PlayerRelation::DEFAULT),
mIgnoreStrategy(NULL)
@@ -91,7 +91,7 @@ PlayerRelationsManager::PlayerRelationsManager(void) :
}
void
-PlayerRelationsManager::clear(void)
+PlayerRelationsManager::clear()
{
std::vector<std::string> *names = getPlayers();
for (std::vector<std::string>::const_iterator
@@ -116,7 +116,7 @@ PlayerRelationsManager::getPlayerIgnoreStrategyIndex(const std::string &name)
}
void
-PlayerRelationsManager::load(void)
+PlayerRelationsManager::load()
{
clear();
@@ -134,7 +134,7 @@ PlayerRelationsManager::load(void)
void
-PlayerRelationsManager::init(void)
+PlayerRelationsManager::init()
{
load();
@@ -143,7 +143,7 @@ PlayerRelationsManager::init(void)
}
void
-PlayerRelationsManager::store(void)
+PlayerRelationsManager::store()
{
config.setList<std::map<std::string, PlayerRelation *>::const_iterator,
std::pair<std::string, PlayerRelation *>,
@@ -236,7 +236,7 @@ PlayerRelationsManager::setRelation(const std::string &player_name, PlayerRelati
}
std::vector<std::string> *
-PlayerRelationsManager::getPlayers(void)
+PlayerRelationsManager::getPlayers()
{
std::vector<std::string> *retval = new std::vector<std::string>();
@@ -274,7 +274,7 @@ PlayerRelationsManager::getRelation(const std::string &name)
// defaults
unsigned int
-PlayerRelationsManager::getDefault(void) const
+PlayerRelationsManager::getDefault() const
{
return mDefaultPermissions;
}
@@ -388,7 +388,7 @@ private:
static std::vector<PlayerIgnoreStrategy *> player_ignore_strategies;
std::vector<PlayerIgnoreStrategy *> *
-PlayerRelationsManager::getPlayerIgnoreStrategies(void)
+PlayerRelationsManager::getPlayerIgnoreStrategies()
{
if (player_ignore_strategies.size() == 0) {
// not initialised yet?
diff --git a/src/player_relations.h b/src/player_relations.h
index 6e7d1f9d..ec93b4dc 100644
--- a/src/player_relations.h
+++ b/src/player_relations.h
@@ -60,120 +60,130 @@ struct PlayerRelation
/**
- * Ignore strategy: describes how we should handle ignores
+ * Ignore strategy: describes how we should handle ignores.
*/
-class
-PlayerIgnoreStrategy
+class PlayerIgnoreStrategy
{
public:
std::string mDescription;
std::string mShortName;
+ virtual ~PlayerIgnoreStrategy() {}
+
/**
- * Handle the ignoring of the indicated action by the indicated player
+ * Handle the ignoring of the indicated action by the indicated player.
*/
virtual void ignore(Player *player, unsigned int flags) = 0;
};
-class
-PlayerRelationsListener
+class PlayerRelationsListener
{
public:
- PlayerRelationsListener(void) { }
- virtual ~PlayerRelationsListener(void) { }
+ PlayerRelationsListener() { }
+ virtual ~PlayerRelationsListener() { }
virtual void updatedPlayer(const std::string &name) = 0;
};
/**
- * Player relations class, represents any particular relations and/or preferences the
- * user of the local client has wrt other players (identified by std::string).
+ * Player relations class, represents any particular relations and/or
+ * preferences the user of the local client has wrt other players (identified
+ * by std::string).
*/
-class
-PlayerRelationsManager
+class PlayerRelationsManager
{
public:
- PlayerRelationsManager(void);
+ PlayerRelationsManager();
/**
* Initialise player relations manager (load config file etc.)
*/
- void init(void);
+ void init();
/**
- * Load configuration from our config file, or substitute defaults
+ * Load configuration from our config file, or substitute defaults.
*/
- void load(void);
+ void load();
/**
- * Save configuration to our config file
+ * Save configuration to our config file.
*/
- void store(void);
+ void store();
/**
- * Determines whether the player in question is being ignored, filtered by the specified flags.
- *
+ * Determines whether the player in question is being ignored, filtered by
+ * the specified flags.
*/
- unsigned int checkPermissionSilently(const std::string &player_name, unsigned int flags);
+ unsigned int checkPermissionSilently(const std::string &player_name,
+ unsigned int flags);
/**
- * Tests whether the player in question is being ignored for any of the actions in the specified flags.
- * If so, trigger appropriate side effects if requested by the player.
+ * Tests whether the player in question is being ignored for any of the
+ * actions in the specified flags. If so, trigger appropriate side effects
+ * if requested by the player.
*/
bool hasPermission(Being *being, unsigned int flags);
bool hasPermission(const std::string &being, unsigned int flags);
/**
- * Updates the relationship with this player
+ * Updates the relationship with this player.
*/
- void setRelation(const std::string &name, PlayerRelation::relation relation);
+ void setRelation(const std::string &name,
+ PlayerRelation::relation relation);
/**
- * Updates the relationship with this player
+ * Updates the relationship with this player.
*/
PlayerRelation::relation getRelation(const std::string &name);
/**
- * Deletes the information recorded for a player
+ * Deletes the information recorded for a player.
*/
void removePlayer(const std::string &name);
-
/**
- * Retrieves the default permissions
+ * Retrieves the default permissions.
*/
- unsigned int getDefault(void) const;
+ unsigned int getDefault() const;
/**
- * Sets the default permissions
+ * Sets the default permissions.
*/
void setDefault(unsigned int permissions);
/**
- * Retrieves all known player ignore strategies
+ * Retrieves all known player ignore strategies.
*
- * The player ignore strategies are allocated statically and must not be deleted.
+ * The player ignore strategies are allocated statically and must not be
+ * deleted.
*/
- std::vector<PlayerIgnoreStrategy *> *getPlayerIgnoreStrategies(void);
+ std::vector<PlayerIgnoreStrategy *> *getPlayerIgnoreStrategies();
/**
- * Return the current player ignore strategy
+ * Return the current player ignore strategy.
*
* \return A player ignore strategy, or NULL
*/
- PlayerIgnoreStrategy *getPlayerIgnoreStrategy(void) { return mIgnoreStrategy; }
+ PlayerIgnoreStrategy *getPlayerIgnoreStrategy() const
+ {
+ return mIgnoreStrategy;
+ }
/**
- * Sets the strategy to call when ignoring players
+ * Sets the strategy to call when ignoring players.
*/
- void setPlayerIgnoreStrategy(PlayerIgnoreStrategy *strategy) { mIgnoreStrategy = strategy; }
+ void setPlayerIgnoreStrategy(PlayerIgnoreStrategy *strategy)
+ {
+ mIgnoreStrategy = strategy;
+ }
/**
- * For a given ignore strategy short name, find the appropriate index in the ignore strategies vector
+ * For a given ignore strategy short name, find the appropriate index in
+ * the ignore strategies vector.
*
* \param The short name of the ignore strategy to look up
* \return The appropriate index, or -1
@@ -181,32 +191,37 @@ public:
int getPlayerIgnoreStrategyIndex(const std::string &shortname);
/**
- * Retrieves a sorted vector of all players for which we have any relations recorded
+ * Retrieves a sorted vector of all players for which we have any relations
+ * recorded.
*/
- std::vector<std::string> *getPlayers(void);
+ std::vector<std::string> *getPlayers();
/**
- * Removes all recorded player info
+ * Removes all recorded player info.
*/
- void clear(void);
+ void clear();
/**
* Do we persist our `ignore' setup?
- *
*/
- bool
- getPersistIgnores(void) const { return mPersistIgnores; }
+ bool getPersistIgnores() const { return mPersistIgnores; }
/**
- * Change the `ignore persist' flag
+ * Change the `ignore persist' flag.
*
* @param value Whether to persist ignores
*/
- void
- setPersistIgnores(bool value) { mPersistIgnores = value; }
+ void setPersistIgnores(bool value) { mPersistIgnores = value; }
+
+ void addListener(PlayerRelationsListener *listener)
+ {
+ mListeners.push_back(listener);
+ }
- void addListener(PlayerRelationsListener *listener) { mListeners.push_back(listener); }
- void removeListener(PlayerRelationsListener *listener) { mListeners.remove(listener); }
+ void removeListener(PlayerRelationsListener *listener)
+ {
+ mListeners.remove(listener);
+ }
private:
void signalUpdate(const std::string &name);