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
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to