00001 /* +------------------------------------+ 00002 * | Inspire Internet Relay Chat Daemon | 00003 * +------------------------------------+ 00004 * 00005 * Inspire is copyright (C) 2002-2005 ChatSpike-Dev. 00006 * E-mail: 00007 * <brain@chatspike.net> 00008 * <Craig@chatspike.net> 00009 * 00010 * Written by Craig Edwards, Craig McLure, and others. 00011 * This program is free but copyrighted software; see 00012 * the file COPYING for details. 00013 * 00014 * --------------------------------------------------- 00015 */ 00016 00017 #ifndef __CULLLIST_H__ 00018 #define __CULLLIST_H__ 00019 00020 // include the common header files 00021 00022 #include <typeinfo> 00023 #include <iostream> 00024 #include <string> 00025 #include <deque> 00026 #include <sstream> 00027 #include <vector> 00028 #include "users.h" 00029 #include "channels.h" 00030 00036 class CullItem 00037 { 00038 private: 00042 userrec* user; 00045 std::string reason; 00046 public: 00053 CullItem(userrec* u, std::string r); 00056 userrec* GetUser(); 00059 std::string GetReason(); 00060 }; 00061 00075 class CullList 00076 { 00077 private: 00082 std::vector<CullItem> list; 00087 std::map<userrec*,int> exempt; 00088 public: 00093 CullList(); 00099 void AddItem(userrec* user, std::string reason); 00108 int Apply(); 00109 }; 00110 00111 #endif