vepv & multiple implementations.



Hi,
  I have been looking at my problem from before (having many idl functions that have the same name but are in different interfaces), and I think I have seen a new manifestation of this.

I am trying to have multiple components that implement the same interface, much like bonobo-item-container.idl has many implementations. When I run my code-

obj_id = "OAFIID:witme_dirViewLayout2:50982829-d572-4fad-b8a8-a9e270d840ed";
server = bonobo_object_activate (obj_id, 0);
if (!server) {
  printf ("Could not create an instance of the %s component", obj_id);
  return;
}

Witme_DirViewLayout dvl;
dvl = bonobo_object_corba_objref (BONOBO_OBJECT (server));
Witme_DirViewLayout_layout( dvl, ol,
  bonobo_object_corba_objref(
  bonobo_object_from_servant(servant)),
  &ev );

It uses the correct setup() singletons in the activate() call (I print the uuid at times). But the stub seems to dispatch to the wrong component! It doesn't do anything nasty because the component is stateless so calling a different component that implements the same interface is ok, it just has the wrong layout...

Once again I was wondering if anyone has hit this one before, and maybe can point me at a few possibles... I even changed the oafid to be witme_dirViewLayout2 instead of witme_dirViewLayout, and the uuids are very different... it *seems* that oaf is activating the correct object, from my debug msgs, but the stub is not demuxing to the correct idl implementation.

I will go back to it and see if I can come up with anything, but I am starting to run out of ideas, and the stub code is something that I don't really want to be viewing at the gdb level.



Use what talents you possess: the woods would be very silent if no birds
sang there except those that sang best.
-- Henry Van Dyke


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]