object proxying system
[scpubgit/Tak.git] / lib / Tak / ObjectProxy.pm
diff --git a/lib/Tak/ObjectProxy.pm b/lib/Tak/ObjectProxy.pm
new file mode 100644 (file)
index 0000000..827e0bd
--- /dev/null
@@ -0,0 +1,16 @@
+package Tak::ObjectProxy;
+
+use strictures 1;
+
+sub AUTOLOAD {
+  my $self = shift;
+  (my $method) = (our $AUTOLOAD =~ /([^:]+)$/);
+  $self->{client}->proxy_method_call($self, $method => @_);
+}
+
+sub DESTROY {
+  my $self = shift;
+  $self->{client}->proxy_death($self);
+}
+
+1;