[omniORB] How do you implement callbacks?

Duncan Grisby duncan at grisby.org
Thu Jan 10 16:44:49 GMT 2008


On Monday 7 January, "Morris, Steve (SW/FW - Rehovot)" wrote:

> How do you implement callbacks?

Your question actually has nothing to do with callbacks, but is just
about servers in general...

[...]
> I create an instance of iPCWatchdogObserver
>     self.watchdogObserver = iPCWatchdogObserver()
> 
> I call connectToiPCDevice() with the
>     iPCDevice = self.iPCConnect.connectToiPCDevice(self.watchdogObserver)

[...]
> BAD_PARAM: CORBA.BAD_PARAM(omniORB.BAD_PARAM_WrongPythonType, CORBA.COMPLETED_NO)\n'
> 
> What am I doing wrong?

You have tried to use a servant -- i.e. a programming language object --
where you need a CORBA object reference. They are different things. To
get an object reference, you must activate your servant in a POA, and
acquire an object reference for it. Look at the various server examples
to see how to do that.

You can find a good explanation of the different between servants and
object references in Ciaran McHale's free book:

  http://www.ciaranmchale.com/corba-explained-simply/

in particular the chapter about server-side programming:

  http://www.ciaranmchale.com/corba-explained-simply/concepts-for-server-side-programming.html

Cheers,

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan at grisby.org     --
   -- http://www.grisby.org --



More information about the omniORB-list mailing list