diff options
| author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-01-24 06:01:58 +0000 |
|---|---|---|
| committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-01-24 06:01:58 +0000 |
| commit | ae2575b45de1e8f4c0ec956cebe0eed2bafbcf57 (patch) | |
| tree | 9c2b7c839087c285c228374f525315e55c392a34 /lib/puppet/client/proxy.rb | |
| parent | 18e8e74a2e3b4c5d092fc0aae38bbc5455d4db48 (diff) | |
| download | puppet-ae2575b45de1e8f4c0ec956cebe0eed2bafbcf57.tar.gz puppet-ae2575b45de1e8f4c0ec956cebe0eed2bafbcf57.tar.xz puppet-ae2575b45de1e8f4c0ec956cebe0eed2bafbcf57.zip | |
Adding the event-loop stuff to the repository and switching to using it. Also, breaking many classes out into their own class files.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@848 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib/puppet/client/proxy.rb')
| -rw-r--r-- | lib/puppet/client/proxy.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/puppet/client/proxy.rb b/lib/puppet/client/proxy.rb new file mode 100644 index 000000000..2ea0a87f9 --- /dev/null +++ b/lib/puppet/client/proxy.rb @@ -0,0 +1,27 @@ +# unlike the other client classes (again, this design sucks) this class +# is basically just a proxy class -- it calls its methods on the driver +# and that's about it +class Puppet::Client::ProxyClient < Puppet::Client + def self.mkmethods + interface = @handler.interface + namespace = interface.prefix + + interface.methods.each { |ary| + method = ary[0] + Puppet.debug "%s: defining %s.%s" % [self, namespace, method] + self.send(:define_method,method) { |*args| + begin + @driver.send(method, *args) + rescue XMLRPC::FaultException => detail + #Puppet.err "Could not call %s.%s: %s" % + # [namespace, method, detail.faultString] + #raise NetworkClientError, + # "XMLRPC Error: %s" % detail.faultString + raise NetworkClientError, detail.faultString + end + } + } + end +end + +# $Id$ |
