blob: 9ab83e9bc8dfe44197a48c560eae194528815ee0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
// $Id$
#include "tps.h"
ACE_RCSID(tps, tps, "$Id$")
int
TPS_Filter::inRequestPreMarshal(CORBA::Request &r, CORBA::Environment& env)
{
// Get target
CORBA::Object_ptr obj = r.target ();
Cubit * cb = Cubit::_narrow (obj, env);
if (env) // Not for our object!!
return 1; // continue in the same thread
// Enqueue the request
Cubit_Impl_Task *ct;
if (CORBA::is_nil (cb))
return 1;
ct = (Cubit_Impl_Task *) DEREF(cb);
if (ct) {
ACE_Message_Block *mb = new ACE_Message_Block ( (char *) (&r));
ct->msg_queue ()->enqueue (mb);
}
// Done
return -1;
}
TPS_Filter tps_filter;
|