Re: c++, singletons, macros, and automake.



On 22 Dec 2000 03:46:44 +1000, monkeyiq wrote:
> Hi,
>    I have been hacking away on a wrapper for bonobo that lets me make
> components without the need to copy heaps of boilerplate code... though
> my solution was inspired by the echo sample.
> 
> The main thing that I am now doing, and the reason for this email is I
> am making automake/conf I little easier to setup for new components. My
> current designed solution is to append cruft to Makefile.am in a
> bonbon_newc.sh script that will make idl/.c/uuid/oafinfo files for me,
> and was wondering if there might be a better solution to this (or if
> anyone else has already made one). Other than that I might move to using
> Makefile.am.m4 so that I can cut down the amount of cruft that must be
> done to use idl files of ones own with bonobo. (and make the resulting
> Makefile.am.m4 a tad more readable / maintainable).
> 
> One requires c++ to use my wrapper. An example would be the echo
> component, which results in the following code. There is a generic
> server that one can compile/link to aswell (no code changes are needed
> in server). This basically removes all the factory, epv, et al. code so
> that it brings to coder back to raw C CORBA coding and they get a bonobo
> component out of the deal (also I avoid gtk+ code scattered everywhere
> ;-).
> 
> I am just hoping to remove/shorten the many lines of Makefile.am that is
> needed to compile an idl and make the static lib etc, so that I don't
> end up with a Makefile.am that is 5 KLOC long.
> 
> //
> // compiles to similar exe as samples/echo
> //
> #include "Echo.h"
> 
> #include <string>
> #include <vector>
> 
> /* These must change for each component. */
> #define COMPONENT_CORBA_OBJECT                Demo_Echo
> #define COMPONENT_OAFID                               
> "OAFIID:demo_echo:5aca39ba-b09b-49c9-a758-4bcb13ca86c5"
> 
> /************************************************************************/
> /************************************************************************/
> #include "bonbon_component.h"
> /************************************************************************/
> /************************************************************************/
> /************************************************************************/
> /************************************************************************/
> 
> 
> BONBON_IDLF( echo, void, impl_echo_echo, 
>       (PortableServer_Servant  servant,       
>       const CORBA_char       *string,
>       CORBA_Environment      *ev))
> 
> {
>       COMPONENT_OBJECT* echo = ECHO (bonobo_object_from_servant (servant));
>                                                                        
>       printf ("Echo message XXX XXX received: %s \n", string);
> }
> 
I think what you're trying to do is similar to the bonobo-idl compiler, which

is in CVS. Is your wrapper working right now? if so, where can I look at
the code?

cheers





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