The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

RPC::Simple::AnyRemote - Perl base class for a remote object accessible by RPC

SYNOPSIS

  package myClass ;
  use vars qw(@ISA @RPC_SUB);
  use RPC::Simple::AnyRemote;

  @ISA=('RPC::Simple::AnyRemote') ;
  @RPC_SUB = qw(localMethod);

DESCRIPTION

This class must be inherited by the user's class actually performing the remote functions.

Note that any user defined method which can be called by the local object must be able to handle the following optionnal parameters :

'callback' => code_reference

Usually, the methods will be like :

 sub remoteMethod
 {
   my $self = shift ;
   my $param = shift ;
   my $callback ;

   if ($param eq 'callback')
     {
       # callback required
       $callback = shift          
     }

   # user code

   # can call a method from local object
   $self->localMethod("Hey, remoteMethod was called !!");

   # when the user code is over
   return unless defined $callback ;

   &$callback("Hello local object" ) ;
 }

Methods

new('controller_ref')

controller_ref is the RPC::Simple::ObjectHandler object actually controlling this instance.

If you overload 'new', don't forget to call also the inherited 'new' method.

AUTOLOAD()

When this method is called (generally through perl mechanism), the call will be forwarded with all parameter to the local object. Note that if the remote method name is not declated in the @RPC_SUB array, AnyLocal will try to autoload this mehtod.

Note that this method is not able to handle sub_reference and call back mechanism is not possible fromthis side.

returns self.

instance variable

AnyRemote will create the following instance variables:

_twinHandle

RPC::Simple::ObjectHandler object reference

origDir

Store the pwd of the object during its creation.

AUTHORS

    Current Maintainer
    Clint Edwards <cedwards@mcclatchyinteractive.com>

    Original
    Dominique Dumont, <Dominique_Dumont@grenoble.hp.com>

SEE ALSO

perl(1), RPC::Simple::AnyLocal(3)