From 301ffe1048fb23548f72759b6ed0ca98e9109ff4 Mon Sep 17 00:00:00 2001 From: David Athay Date: Tue, 26 Jun 2007 19:50:02 +0000 Subject: Merged guilds-and-parties branch to trunk --- src/account-server/guildmanager.hpp | 76 +++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 src/account-server/guildmanager.hpp (limited to 'src/account-server/guildmanager.hpp') diff --git a/src/account-server/guildmanager.hpp b/src/account-server/guildmanager.hpp new file mode 100644 index 00000000..97ec87c3 --- /dev/null +++ b/src/account-server/guildmanager.hpp @@ -0,0 +1,76 @@ +/* + * guildmanager.hpp + * A file part of The Mana World + * + * Created by David Athay on 05/03/2007. + * + * Copyright (c) 2007, The Mana World Development Team + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * My name may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE + * + * $Id$ + */ + +#include + +class Guild; +class CharacterData; + +class GuildManager +{ +public: + /* + * Constructor/Destructor + */ + GuildManager(); + ~GuildManager(); + + /* + * Create/Remove guild + */ + short createGuild(const std::string &name, CharacterData *player); + void removeGuild(short guildId); + + /* + * Add member to guild + */ + void addGuildMember(short guildId, CharacterData *player); + + /* + * Remove member from guild + */ + void removeGuildMember(short guildId, CharacterData *player); + + /* + * Search for guilds + */ + Guild *findById(short id); + Guild *findByName(const std::string &name); + + /* + * Check if guild exists + */ + bool doesExist(const std::string &name); + +private: + std::list mGuilds; +}; + +extern GuildManager *guildManager; -- cgit v1.2.3-60-g2f50