--- /dev/null
+# All plugins should include this module. It defines the basic
+# operations that all plugins are supposed to support.
+module Plugin
+
+ def Plugin.included(c)
+ # Callback, called whenever another class or module includes this
+ # one. The parameter given is the name of the class or module
+ # that included us.
+ @includers ||= []
+ @includers << c
+ end
+
+ def Plugin.includers
+ return @includers
+ end
+
+ def describe_domain(domain)
+ # Provide a "description" of the domain. This is output along
+ # with the domain name and can be anything of use to the system
+ # administrator.
+ raise NotImplementedError
+ end
+
+ def describe_account(account)
+ # Provide a "description" of the account. This is output along
+ # with the domain name and can be anything of use to the system
+ # administrator.
+ raise NotImplementedError
+ end
+
+end