PortableServer::DynamicImplementation - A base module for implementing a Dynamic Skeleton Interface.
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']; }
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.
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.