-/** Module reference, similar to reference<Module>
- */
-class CoreExport ModuleRef : public reference_base
+typedef const reference<Module> ModuleRef;
+
+enum ServiceType {
+ /** is a Command */
+ SERVICE_COMMAND,
+ /** is a ModeHandler */
+ SERVICE_MODE,
+ /** is a metadata descriptor */
+ SERVICE_METADATA,
+ /** is a data processing provider (MD5, SQL) */
+ SERVICE_DATA,
+ /** is an I/O hook provider (SSL) */
+ SERVICE_IOHOOK,
+ /** Service managed by a module */
+ SERVICE_CUSTOM
+};
+
+/** A structure defining something that a module can provide */
+class CoreExport ServiceProvider : public classbase