summaryrefslogtreecommitdiff
path: root/src/account-server/guildmanager.hpp
diff options
context:
space:
mode:
authorDavid Athay <ko2fan@gmail.com>2007-06-26 19:50:02 +0000
committerDavid Athay <ko2fan@gmail.com>2007-06-26 19:50:02 +0000
commit301ffe1048fb23548f72759b6ed0ca98e9109ff4 (patch)
treec765b6df9a83227b1d40bb59949b768fbc4c1574 /src/account-server/guildmanager.hpp
parent99263173738dfd6ca4ba822e0a112f1c7c17661c (diff)
downloadmanaserv-301ffe1048fb23548f72759b6ed0ca98e9109ff4.tar.gz
manaserv-301ffe1048fb23548f72759b6ed0ca98e9109ff4.tar.bz2
manaserv-301ffe1048fb23548f72759b6ed0ca98e9109ff4.tar.xz
manaserv-301ffe1048fb23548f72759b6ed0ca98e9109ff4.zip
Merged guilds-and-parties branch to trunk
Diffstat (limited to 'src/account-server/guildmanager.hpp')
-rw-r--r--src/account-server/guildmanager.hpp76
1 files changed, 76 insertions, 0 deletions
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 <list>
+
+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<Guild*> mGuilds;
+};
+
+extern GuildManager *guildManager;