CORBA-omniORB
view release on metacpan or search on metacpan
omniORB/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).
exception = pomni_call_method (aTHX_ "etherealize", 0, NULL);
if (exception)
throw exception;
}
PortableServer::Servant
POmniServantLocator::preinvoke (const PortableServer::ObjectId& oid,
PortableServer::POA_ptr adapter,
const char * operation,
PortableServer::ServantLocator::Cookie& the_cookie)
{
PortableServer::Servant retval;
CORBA::Exception *exception;
POmniPerlServerContext psc(this->thx);
dTHXa(psc.context());
dSP;
init_forward_request();
throw exception;
}
return retval;
}
void
POmniServantLocator::postinvoke (const PortableServer::ObjectId& oid,
PortableServer::POA_ptr adapter,
const char * operation,
PortableServer::ServantLocator::Cookie the_cookie,
PortableServer::Servant serv)
{
CORBA::Exception *exception;
POmniPerlServerContext psc(this->thx);
dTHXa(psc.context());
dSP;
PUSHMARK(SP);
class POmniServantLocator : public POA_PortableServer::ServantLocator {
public:
POmniServantLocator (SV *_perlobj) {
thx = (PerlInterpreter*)PERL_GET_THX;
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:
PerlInterpreter* thx; //! Perl context
SV *perlobj;
};
// Information attached to a Perl servant via PERL_MAGIC_ext magic
struct POmniInstVars
{
U32 magic; // 0x18981972
( run in 1.664 second using v1.01-cache-2.11-cpan-e9199f4ba4c )