diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-08-10 17:37:25 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-08-10 17:37:25 +0000 |
commit | afa1ec0e9586d93482b5dfdc2d77e93c9499ea10 (patch) | |
tree | 871b1c3029692605a7d0a038068dae09e4238122 /include | |
parent | e91d5023f3ace4bb80d197621d6dc20b6e293641 (diff) |
PublishFeature, FindFeature, FindModule, PriorityBefore, PriorityAfter -> InspIRCd::
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4846 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'include')
-rw-r--r-- | include/inspircd.h | 67 | ||||
-rw-r--r-- | include/modules.h | 59 |
2 files changed, 63 insertions, 63 deletions
diff --git a/include/inspircd.h b/include/inspircd.h index 94bba27f6..dadab34fa 100644 --- a/include/inspircd.h +++ b/include/inspircd.h @@ -3,13 +3,13 @@ * +------------------------------------+ * * InspIRCd is copyright (C) 2002-2006 ChatSpike-Dev. - * E-mail: - * <brain@chatspike.net> - * <Craig@chatspike.net> + * E-mail: + * <brain@chatspike.net> + * <Craig@chatspike.net> * * Written by Craig Edwards, Craig McLure, and others. * This program is free but copyrighted software; see - * the file COPYING for details. + * the file COPYING for details. * * --------------------------------------------------- */ @@ -150,6 +150,65 @@ class InspIRCd : public classbase void SendError(const char *s); + /** For use with Module::Prioritize(). + * When the return value of this function is returned from + * Module::Prioritize(), this specifies that the module wishes + * to be ordered exactly BEFORE 'modulename'. For more information + * please see Module::Prioritize(). + * @param modulename The module your module wants to be before in the call list + * @returns a priority ID which the core uses to relocate the module in the list + */ + long PriorityBefore(const std::string &modulename); + + /** For use with Module::Prioritize(). + * When the return value of this function is returned from + * Module::Prioritize(), this specifies that the module wishes + * to be ordered exactly AFTER 'modulename'. For more information please + * see Module::Prioritize(). + * @param modulename The module your module wants to be after in the call list + * @returns a priority ID which the core uses to relocate the module in the list + */ + long PriorityAfter(const std::string &modulename); + + /** Publish a 'feature'. + * There are two ways for a module to find another module it depends on. + * Either by name, using InspIRCd::FindModule, or by feature, using this + * function. A feature is an arbitary string which identifies something this + * module can do. For example, if your module provides SSL support, but other + * modules provide SSL support too, all the modules supporting SSL should + * publish an identical 'SSL' feature. This way, any module requiring use + * of SSL functions can just look up the 'SSL' feature using FindFeature, + * then use the module pointer they are given. + * @param FeatureName The case sensitive feature name to make available + * @param Mod a pointer to your module class + * @returns True on success, false if the feature is already published by + * another module. + */ + bool PublishFeature(const std::string &FeatureName, Module* Mod); + + /** Unpublish a 'feature'. + * When your module exits, it must call this method for every feature it + * is providing so that the feature table is cleaned up. + * @param FeatureName the feature to remove + */ + bool UnpublishFeature(const std::string &FeatureName); + + /** Find a 'feature'. + * There are two ways for a module to find another module it depends on. + * Either by name, using InspIRCd::FindModule, or by feature, using the + * InspIRCd::PublishFeature method. A feature is an arbitary string which + * identifies something this module can do. For example, if your module + * provides SSL support, but other modules provide SSL support too, all + * the modules supporting SSL should publish an identical 'SSL' feature. + * To find a module capable of providing the feature you want, simply + * call this method with the feature name you are looking for. + * @param FeatureName The feature name you wish to obtain the module for + * @returns A pointer to a valid module class on success, NULL on failure. + */ + Module* FindFeature(const std::string &FeatureName); + + const std::string& GetModuleName(Module* m); + std::string GetRevision(); std::string GetVersionString(); void WritePID(const std::string &filename); diff --git a/include/modules.h b/include/modules.h index 8baf31b4c..1b9d8c25b 100644 --- a/include/modules.h +++ b/include/modules.h @@ -1250,65 +1250,6 @@ class Module : public Extensible class Server : public Extensible { public: - /** For use with Module::Prioritize(). - * When the return value of this function is returned from - * Module::Prioritize(), this specifies that the module wishes - * to be ordered exactly BEFORE 'modulename'. For more information - * please see Module::Prioritize(). - * @param modulename The module your module wants to be before in the call list - * @returns a priority ID which the core uses to relocate the module in the list - */ - long PriorityBefore(const std::string &modulename); - - /** For use with Module::Prioritize(). - * When the return value of this function is returned from - * Module::Prioritize(), this specifies that the module wishes - * to be ordered exactly AFTER 'modulename'. For more information please - * see Module::Prioritize(). - * @param modulename The module your module wants to be after in the call list - * @returns a priority ID which the core uses to relocate the module in the list - */ - long PriorityAfter(const std::string &modulename); - - /** Publish a 'feature'. - * There are two ways for a module to find another module it depends on. - * Either by name, using Server::FindModule, or by feature, using this - * function. A feature is an arbitary string which identifies something this - * module can do. For example, if your module provides SSL support, but other - * modules provide SSL support too, all the modules supporting SSL should - * publish an identical 'SSL' feature. This way, any module requiring use - * of SSL functions can just look up the 'SSL' feature using FindFeature, - * then use the module pointer they are given. - * @param FeatureName The case sensitive feature name to make available - * @param Mod a pointer to your module class - * @returns True on success, false if the feature is already published by - * another module. - */ - bool PublishFeature(const std::string &FeatureName, Module* Mod); - - /** Unpublish a 'feature'. - * When your module exits, it must call this method for every feature it - * is providing so that the feature table is cleaned up. - * @param FeatureName the feature to remove - */ - bool UnpublishFeature(const std::string &FeatureName); - - /** Find a 'feature'. - * There are two ways for a module to find another module it depends on. - * Either by name, using Server::FindModule, or by feature, using the - * Server::PublishFeature method. A feature is an arbitary string which - * identifies something this module can do. For example, if your module - * provides SSL support, but other modules provide SSL support too, all - * the modules supporting SSL should publish an identical 'SSL' feature. - * To find a module capable of providing the feature you want, simply - * call this method with the feature name you are looking for. - * @param FeatureName The feature name you wish to obtain the module for - * @returns A pointer to a valid module class on success, NULL on failure. - */ - Module* FindFeature(const std::string &FeatureName); - - const std::string& GetModuleName(Module* m); - /** Returns true if a nick is valid. * Nicks for unregistered connections will return false. */ |