Commit | Line | Data |
---|---|---|
9e72f0cf | 1 | package Object::Remote; |
2 | ||
3 | use Object::Remote::MiniLoop; | |
676438a1 | 4 | use Object::Remote::Handle; |
e144d525 | 5 | use Module::Runtime qw(use_module); |
9e72f0cf | 6 | |
84b04178 | 7 | sub new::on { |
8 | my ($class, $on, @args) = @_; | |
4c17fea5 | 9 | my $conn = __PACKAGE__->connect($on); |
11dbd4a0 | 10 | return $conn->remote_object(class => $class, args => \@args); |
84b04178 | 11 | } |
12 | ||
676438a1 | 13 | sub new { |
14 | shift; | |
15 | Object::Remote::Handle->new(@_)->proxy; | |
9e72f0cf | 16 | } |
17 | ||
4c17fea5 | 18 | sub connect { |
19 | my ($class, $to) = @_; | |
20 | use_module('Object::Remote::Connection')->new_from_spec($to); | |
21 | } | |
22 | ||
9e72f0cf | 23 | sub current_loop { |
24 | our $Current_Loop ||= Object::Remote::MiniLoop->new | |
25 | } | |
26 | ||
9e72f0cf | 27 | 1; |