NAME

PortableServer::DynamicImplementation - A base module for implementing a Dynamic Skeleton Interface.


SYNOPSIS

  use PortableServer::DynamicImplementation;
  our @ISA = qw(PortableServer::DynamicImplementation);
  sub invoke {
    my($self, $req) = @_;
    my $op = $req->operation();
    ## Get an array of argument references
    my $args = Util::Shared::create_array();
    $req->arguments($args);
    if ($op eq 'operation_name') {
      ...
    }
    elsif ($op eq 'other_operation_name') {
      ...
    }
    ...
  }
  sub _ids {
    return ['IDL:foo:1.0', 'IDL:bar:1.0'];
  }


DESCRIPTION

The PortableServer::DynamicImplementation module allows the user a method of implementing an IDL interface without a static skeleton. The user must provide an implementation of the invoke and _ids methods.


METHODS

invoke - This method will be called when a servant does not inherit from a static skeleton, but does inhert from PortableServer::DynamicImplementation and implements the interface for the designated repository id.

_ids - Returns an array reference of repository ids that are implemented by the servant's invoke method.