summaryrefslogtreecommitdiffstats
path: root/lib/puppet/network/handler.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/network/handler.rb')
-rw-r--r--lib/puppet/network/handler.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/puppet/network/handler.rb b/lib/puppet/network/handler.rb
index 080997e98..33343e4fe 100644
--- a/lib/puppet/network/handler.rb
+++ b/lib/puppet/network/handler.rb
@@ -1,9 +1,12 @@
+require 'puppet/util/docs'
require 'puppet/util/subclass_loader'
module Puppet::Network
# The base class for the different handlers. The handlers are each responsible
# for separate xmlrpc namespaces.
class Handler
+ extend Puppet::Util::Docs
+
# This is so that the handlers can subclass just 'Handler', rather
# then having to specify the full class path.
Handler = self
@@ -24,6 +27,20 @@ module Puppet::Network
end
end
+ # Set/Determine whether we're a client- or server-side handler.
+ def self.side(side = nil)
+ if side
+ side = side.intern if side.is_a?(String)
+ unless [:client, :server].include?(side)
+ raise ArgumentError, "Invalid side registration '%s' for %s" % [side, self.name]
+ end
+ @side = side
+ else
+ @side ||= :server
+ return @side
+ end
+ end
+
# Create an empty init method with the same signature.
def initialize(hash = {})
end