hlswmaster-ng/modulelist.h

41 lines
643 B
C++

#ifndef _MODULELIST_H_
#define _MODULELIST_H_
#include "multisock.h"
#include "netpkt.h"
#include "gamelist.h"
#include "config.h"
class Module {
public:
virtual ~Module() {};
virtual void scan(MultiSock* msock) =0;
virtual int parse(NetPkt* pkt, GameList* slist) =0;
virtual char* getName() =0;
protected:
Module() {};
};
class ModuleList {
public:
ModuleList();
~ModuleList();
void reg(Module* mod);
void scan(MultiSock* msock);
int parse(NetPkt* pkt, GameList* slist);
protected:
ModuleList(const ModuleList& ml);
ModuleList& operator=(const ModuleList& ml);
private:
List<Module> mlist;
};
#endif // _MODULELIST_H_