Omniorb event channel question



Hello!

I'm using python 2.3.5 on Linux with omniORB 2.6. I'm trying to create
an object that shall listen on an event channel, but the registration
doesn't work. My code is:

class EventListener(CosEventComm.PushConsumer):

def __init__(self):
pass

def push(self, data):
print data.typecode().kind()
print data.typecode().name()

def disconnect_push_consumer(self):
pass

[... initalize the ORB ...]

channel = orb.getRootInterface(channelname)
chadmin = channel.for_consumers()
supplier = chadmin.obtain_push_supplier()
listener = EventListener()
supplier.connect_push_consumer(listener)

Unfortunately I get the following error at this point:
omniORB.CORBA.BAD_PARAM
Traceback (most recent call last)

test.py
70 supplier = chadmin.obtain_push_supplier()
71 listener = EventListener()
---> 72 supplier.connect_push_consumer(listener)
73
74

CosEventChannelAdmin_idl.py
in connect_push_consumer(self, *args)
122
123 def connect_push_consumer(self, *args):
--> 124 return _omnipy.invoke(self, "connect_push_consumer",
_0_CosEventChannelAdmin.ProxyPushSupplier._d_connect_push_consumer, args)
125
126 __methods__ = ["connect_push_consumer"] +
_0_CosEventComm._objref_PushSupplier.__methods__

BAD_PARAM: Minor: BAD_PARAM_WrongPythonType, COMPLETED_NO.

What am I missing? The ORB works otherwise.

Bye,NAR
.



Relevant Pages

  • Re: Omniorb event channel question
    ... listener = EventListener ... the event receiving doesn't seem to work. ... but the pushmethod of the EventListener object doesn't get called (or ... sender program is blocked in the push() call. ...
    (comp.lang.python)
  • Re: Omniorb event channel question
    ... > listener = EventListener() ... Diez ... Prev by Date: ...
    (comp.lang.python)