CORBA-MICO
view release on metacpan or search on metacpan
MICO/mapping.pod view on Meta::CPAN
additional arguments being key-value pairs specifying Policy values.
For instance,
$root_poa->create_POA ("MyPOA", undef,
id_assignment => 'MULTIPLE_ID',
lifetime => 'PERSISTENT');
=head2 Mapping for ServantManager
The opaque Cookie type maps to an arbitary Perl value.
=back
=head1 AUTHOR
Owen Taylor <otaylor@redhat.com>
=head1 SEE ALSO
perl(1).
LEAVE;
if (exception)
throw exception;
}
PortableServer::Servant
PMicoServantLocator::preinvoke (const PortableServer::ObjectId& oid,
PortableServer::POA_ptr adapter,
const char * operation,
PortableServer::ServantLocator::Cookie& the_cookie)
{
PortableServer::Servant retval;
CORBA::Exception *exception;
init_forward_request();
dSP;
ENTER;
SAVETMPS;
if (exception)
throw exception;
return retval;
}
void
PMicoServantLocator::postinvoke (const PortableServer::ObjectId& oid,
PortableServer::POA_ptr adapter,
const char * operation,
PortableServer::ServantLocator::Cookie the_cookie,
PortableServer::Servant serv)
{
CORBA::Exception *exception;
dSP;
ENTER;
SAVETMPS;
class PMicoServantLocator : public POA_PortableServer::ServantLocator {
public:
PMicoServantLocator (SV *_perlobj) {
perlobj = SvRV(_perlobj);
}
PortableServer::Servant preinvoke (const PortableServer::ObjectId& oid,
PortableServer::POA_ptr adapter,
const char * operation,
PortableServer::ServantLocator::Cookie &the_cookie);
void postinvoke (const PortableServer::ObjectId& oid,
PortableServer::POA_ptr adapter,
const char * operation,
PortableServer::ServantLocator::Cookie the_cookie,
PortableServer::Servant serv);
private:
SV *perlobj;
};
// Information attached to a Perl servant via '~' magic
struct PMicoInstVars
{
U32 magic; // 0x18981972
PortableServer::Servant servant;
( run in 0.512 second using v1.01-cache-2.11-cpan-e9199f4ba4c )