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_conne ct_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