]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/dynref.h
Close connections when an I/O hook is configured but not loaded.
[user/henk/code/inspircd.git] / include / dynref.h
index 2069a87eb717d258414d4f6c99886aba30b90c74..44829164b270552a96b3c3919944ab76d05aa7b7 100644 (file)
@@ -43,7 +43,7 @@ class CoreExport dynamic_reference_base : public interfacebase, public insp::int
        ModuleRef creator;
        dynamic_reference_base(Module* Creator, const std::string& Name);
        ~dynamic_reference_base();
-       inline const std::string& GetProvider() { return name; }
+       inline const std::string& GetProvider() const { return name; }
        void SetProvider(const std::string& newname);
 
        /** Set handler to call when the target object becomes available
@@ -79,6 +79,16 @@ class dynamic_reference : public dynamic_reference_base
        {
                return operator->();
        }
+
+       const T* operator->() const
+       {
+               return static_cast<T*>(value);
+       }
+
+       const T* operator*() const
+       {
+               return operator->();
+       }
 };
 
 template<typename T>
@@ -97,6 +107,16 @@ class dynamic_reference_nocheck : public dynamic_reference_base
        {
                return operator->();
        }
+
+       const T* operator->() const
+       {
+               return static_cast<T*>(value);
+       }
+
+       const T* operator*() const
+       {
+               return operator->();
+       }
 };
 
 class ModeHandler;