*/
typedef std::map<irc::string,char*> opertype_t;
+struct operclass_data : public Extensible
+{
+ char* commandlist;
+ char* cmodelist;
+ char* umodelist;
+};
+
/** A Set of oper classes
*/
-typedef std::map<irc::string,char*> operclass_t;
+typedef std::map<irc::string, operclass_data> operclass_t;
/** This class holds the bulk of the runtime configuration for the ircd.
*/
std::vector<ListenSocket*> ports;
- /** A list of ports claimed by IO Modules
+ /** socket objects that are attached to by modules
*/
- std::map<int,Module*> IOHookModule;
-
std::map<BufferedSocket*, Module*> SocketIOHookModule;
/** The 005 tokens of this server (ISUPPORT)
void ValidateIP(const char* p, const std::string &tag, const std::string &val, bool wild);
void ValidateNoSpaces(const char* p, const std::string &tag, const std::string &val);
-
- /** Get a pointer to the module which has hooked the given port.
- * @parameter port Port number
- * @return Returns a pointer to the hooking module, or NULL
- */
- Module* GetIOHook(int port);
-
- /** Hook a module to a client port, so that it can receive notifications
- * of low-level port activity.
- * @param port The port number
- * @param Module the module to hook to the port
- * @return True if the hook was successful.
- */
- bool AddIOHook(int port, Module* iomod);
- /** Delete a module hook from a client port.
- * @param port The port to detatch from
- * @return True if successful
- */
- bool DelIOHook(int port);
-
/** Get a pointer to the module which has hooked the given BufferedSocket class.
* @parameter port Port number
* @return Returns a pointer to the hooking module, or NULL