blob: 1035f1e503facebf77873d77ae5a016ae76c5ccc (
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
|
#include "tps.h"
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;
|