/*
-$Log$
-Revision 1.1 2003/01/23 19:45:58 brain
-Initial revision
-
-Revision 1.12 2003/01/22 20:59:10 brain
-Added FileReader class documentation
-
-Revision 1.11 2003/01/22 20:49:16 brain
-Added FileReader file-caching class
-Changed m_randquote to use FileReader class
-
-Revision 1.10 2003/01/22 00:57:27 brain
-Changes to documentation
-
-Revision 1.9 2003/01/22 00:44:26 brain
-Added documentation comments
-
-Revision 1.8 2003/01/21 20:31:24 brain
-Modified to add documentation
-Added ConfigReader class for modules
-
-Revision 1.7 2003/01/15 22:47:44 brain
-Changed user and channel structs to classes (finally)
-
-Revision 1.6 2003/01/13 22:30:50 brain
-Added Admin class (holds /admin info for modules)
-Added methods to Server class
*/
#define __PLUGIN_H
#include "dynamic.h"
+#include "base.h"
#include <string>
#include <deque>
* The four members (set by the constructor only) indicate details as to the version number
* of a module. A class of type Version is returned by the GetVersion method of the Module class.
*/
-class Version
+class Version : public classbase
{
public:
const int Major, Minor, Revision, Build;
* and has three read-only values, Name, Email and Nick that contain the specified values for the
* server where the module is running.
*/
-class Admin
+class Admin : public classbase
{
public:
const string Name, Email, Nick;
* its methods will be called when irc server events occur. class inherited from module must be
* instantiated by the ModuleFactory class (see relevent section) for the plugin to be initialised.
*/
-class Module
+class Module : public classbase
{
public:
/** Default constructor
* output to users and other servers. All modules should instantiate at least one copy of this class,
* and use its member functions to perform their tasks.
*/
-class Server
+class Server : public classbase
{
public:
/** Default constructor.
* Constructing the class using one parameter allows you to specify a path to your own configuration
* file, otherwise, inspircd.conf is read.
*/
-class ConfigReader
+class ConfigReader : public classbase
{
protected:
/** The filename of the configuration file, as set by the constructor.
* Either use the constructor type with one parameter to load a file into memory
* at construction, or use the LoadFile method to load a file.
*/
-class FileReader
+class FileReader : public classbase
{
file_cache fc;
public:
* In most cases, the simple class shown in the example module m_foobar.so will suffice for most
* modules.
*/
-class ModuleFactory
+class ModuleFactory : public classbase
{
public:
ModuleFactory() { }