Hi Frank, Thank you for your replay. Hoping to see your marcos soon~ hehe. Best Wishes, Rainman.
On Fri, Aug 1, 2008 at 5:15 AM, Frank Schönheit - Sun Microsystems Germany <[EMAIL PROTECTED]> wrote: > Hello Rainman, > >> We are developing our products upon UNO component model. >> One of the big problem we have met is how to implement a service which >> declared by the NEW STYLE statement. >> ... >> Now the problem comes, this is a terrible multiple inheritance >> relationship in C++, and maks hardly reuse of ImplA. because of ImplA >> and XB both derived from XA, >> leading that we must implement all methods declared in XA within ImplB >> again.The same problem occurs in ImplC. >> If there are many methods in XA, the development and the maintenance >> complexity of the ImplB and ImplC would be unacceptable. > > This in fact is a big problem, IMO. > > Upon continued begging the skeletonmaker tool (which is part of the SDK) > is meanwhile able to generate code for you which does the forwarding > (the concrete syntax evades me at the moment), which somewhat relaxes > the problem. > > However, very high on my personal wishlist would be a define, > auto-generated into XFoo.hpp, which allows me to write something like > FORWARD_XFOO( <base_class_name> ) > , which effectively implements all methods of XFoo, just forwarding them > to "base_class_name". This would reduce the maintenance efforts to mere > re-compilation. > > (And while we are at it, an > DECLARE_XFOO() > would be great, too, also coming from the .hpp file. Yes, I know that > skeletonmaker can also generate all the member declarations, but that's > again a maintenance problem if the interface changes, which happens > often enough during development of new API.) > >> So I just wonder whether we really need the single interface service. > > Well, as much as I dislike the additional effort during implementation: > The question is whether it's worth the added convenience for the > *client* of your API. Remember that new-style API is usually much more > convenient to use, and that usually, you implement only once, or a few > times, but your clients use your API much more often. Your decision, > finally. > > Ciao > Frank > > -- > - Frank Schönheit, Software Engineer [EMAIL PROTECTED] - > - Sun Microsystems http://www.sun.com/staroffice - > - OpenOffice.org Base http://dba.openoffice.org - > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
