diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | src/player_relations.cpp | 16 | ||||
-rw-r--r-- | src/player_relations.h | 117 |
3 files changed, 79 insertions, 59 deletions
@@ -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); |