Re: Continuing discussion of oaf ...



Miguel de Icaza <miguel helixcode com> writes:

> > If you get a clash on the IDL name, this doesn't really make your package
> > non-functional - for instance, it won't affect binary packages at all as
> > long as you only use one of them in all applications.
> 
> If the IDL names clash, but the method names do not match, you are in
> deep trouble.  What makes you think you are not?

No, you are not necessarily in deep trouble:

    a)  Source files:

        mysrc/foo-irc/foo-irc.idl - IDL:GNOME/MyIRC/SuperChat:1.0
        mysrc/foo-irc/foo-irc-impl.c - implements GNOME::MyIRC::SuperChat
        mysrc/foo-irc/foo-irc.oafinfo -
                OAFINFO:GNOME_foo_irc:950acf46-a0f3-4ee6-91f3-4a79ebe190cc

        Installed as

        /usr/local/bin/foo-irc-server
        /usr/local/share/gnome/idl/foo-irc.idl
        /usr/local/share/oaf/foo-irc.oafinfo

    b)  mysrc/bar-irc/bar-irc.idl - IDL:GNOME/MyIRC/SuperChat:1.0
        mysrc/bar-irc/bar-irc-impl.c - totally different interface
        mysrc/bar-irc/bar-irc.oafinfo -
                OAFINFO:GNOME_bar_irc:f3a776d8-252e-4d5a-bb60-bfdcc2da27cf

        Installed as

        /usr/local/bin/bar-irc-server
        /usr/local/share/gnome/idl/bar-irc.idl
        /usr/local/share/oaf/bar-irc.oafinfo

So now you have two clashing IDL:GNOME/MyIRC/SuperChat:1.0 in your system,
but everything still works fine.

    c)  mysrc/whatever-bar-baz.c:

                #include <foo-irc.h>

                GNOME_MyIRC_SuperChat_do_something (...);

        runs some `orbit-idl foo-irc.idl' in its Makefile.

    d)  mysrc/talk-with-britney.c:

                #include <bar-irc.h>

                GNOME_MyIRC_SuperChat_talk_with_her (...);

        runs some `orbit-idl bar-irc.idl' in its Makefile.

Two clashing IDLs, but this'll work just fine since both c) and d) only use
one .idl file and not both.

-- 
Martin Baulig
martin gnome org (private)
baulig suse de (work)




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