Logo Search packages:      
Sourcecode: verlihub version File versions

nDirectConnect::nTables::cBanList Class Reference

#include <cbanlist.h>

Inheritance diagram for nDirectConnect::nTables::cBanList:

nConfig::cConfMySQL nConfig::cConfigBase nConfig::cConfigBaseBase cObj nDirectConnect::nTables::cUnBanList

List of all members.


Detailed Description

a Banlist Manager

a mysql based banlist, allows to check for ban add ban remove ban get a list of bans etc..

Author:
Daniel Muller

Definition at line 40 of file cbanlist.h.


Public Types

typedef tItemHash::iterator tIHIt
typedef tcHashListMap
< cConfigItemBase *, unsigned > 
tItemHash
typedef unsigned tItemHashType
typedef vector< size_t > tItemVec
typedef tItemVec::iterator tIVIt

Public Member Functions

cConfigItemBaseAdd (const string &, cConfigItemBase *)
void AddBan (cBan &)
 Add ban to the database.
template<class T>
void AddCol (const char *colName, const char *colType, const char *colDefault, bool colNull, T &var)
void AddIPTempBan (unsigned long ip, long until, const string &reason)
void AddNickTempBan (const string &nick, long until, const string &reason)
void AddPrimaryKey (const char *)
bool AddTestCondition (ostream &os, const string &What, int Type)
void AllFields (ostream &, bool DoF=true, bool DoV=false, bool IsAff=false, string joint=string(", "))
void AllPKFields (ostream &, bool DoF=true, bool DoV=false, bool IsAff=false, string joint=string(", "))
iteratorbegin ()
void BindNick (int, const string &)
 cBanList (cServerDC *)
virtual void Cleanup ()
void CreateTable ()
db_iteratordb_begin ()
db_iteratordb_begin (cQuery &)
db_iteratordb_end ()
 DeclareAddMethods (double)
 DeclareAddMethods (char *)
 DeclareAddMethods (string)
 DeclareAddMethods (__int64)
 DeclareAddMethods (unsigned long)
 DeclareAddMethods (long)
 DeclareAddMethods (unsigned)
 DeclareAddMethods (int)
 DeclareAddMethods (char)
 DeclareAddMethods (bool)
void DelBan (cBan &)
int DeleteAllBansBy (const string &IP, const string &Nick, int Flags)
void DeletePK ()
void DelIPTempBan (unsigned long)
void DelNickTempBan (const string &nick)
iteratorend ()
int EndQuery (cQuery &)
int EndQuery ()
virtual std::ostream & ErrLog ()
int ErrLog (int level)
bool GetHostSubstring (const string &src, string &dest, int level)
long IsIPTempBanned (unsigned long ip)
long IsNickTempBanned (const string &nick)
void List (ostream &os, int count)
virtual int Load (cQuery &)
virtual int Load ()
bool LoadBanByKey (cBan &ban)
bool LoadPK ()
virtual std::ostream & Log ()
int Log (int level)
std::ostream & LogStream ()
void NewBan (cBan &Dest, const cKick &Kick, long period, int Type)
void NewBan (cBan &, cConnDC *, const string &nick_op, const string &reason, unsigned length, unsigned type)
 Generate - fill in a ban structure ready to be added.
cConfigItemBaseoperator[] (const string &)
cConfigItemBaseoperator[] (int)
int RemoveOldShortTempBans (long before)
virtual int Save ()
bool SavePK (bool dup=false)
void SelectFields (ostream &)
void SetBaseTo (void *new_base)
void SetClassName (const char *name)
void SetUnBanList (cUnBanList *UnBanList)
int StartQuery (cQuery &)
int StartQuery ()
int StartQuery (string query)
virtual int StrLog (std::ostream &ostr, int level)
bool TestBan (cBan &, cConnDC *, const string &, unsigned mask)
int Unban (ostream &os, const string &What, const string &reason, const string &NickOp, int TypeOfWhat, bool DoIt=true)
int UpdateBan (cBan &)
void UpdateFields (ostream &os)
bool UpdatePK (cQuery &)
bool UpdatePK ()
bool UpdatePKVar (cConfigItemBase *)
bool UpdatePKVar (const char *)
bool UpdatePKVar (const char *var_name, string &new_val)
void WherePKey (ostream &os)

Static Public Member Functions

static int GetCount ()
static unsigned long Ip2Num (const string &ip)
static void Num2Ip (unsigned long num, string &ip)
static void WriteStringConstant (ostream &os, const string &str)

Public Attributes

void * mBasePtr
iterator mBegin
const char * mClassName
iterator mEnd
tItemHash mhItems
cBasicItemCreator * mItemCreator
cMySQLmMySQL
cQuery mQuery
std::ostream * mToLog
tItemVec mvItems

Static Public Attributes

static const string mEmpty
static hHashStr< tItemHashType > msHasher
static int msLogLevel = 4

Protected Attributes

unsigned mCols
cBan mModel
cMySQLTable mMySQLTable
tItemHash mPrimaryKey
int ok

Private Types

typedef tHashArray< sTempBan * > tTempNickBans

Private Attributes

cServerDCmS
tTempNickBans mTempIPBanlist
tTempNickBans mTempNickBanlist
cUnBanListmUnBanList

Friends

class ::nDirectConnect::cServerDC

Classes

struct  sTempBan

The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index