Re: Continuing discussion of oaf ...



Michael Meeks <michael helixcode com> writes:

> Hi Maciej,
> 
> On 20 Nov 2000, Maciej Stachowiak wrote:
> > > UUID's are a short term hack, that relies on the assumption that
> > > most people will not want to implement any new interfaces, which is
> > > just silly. True, currently it is too difficult to do so, but I
> > > expect this to become easier through a several pronged strategy.
> >
> > I don't see what implementing new interfaces has to do with it?
> 
>         If every component implements a new interface then every component
> already needs to deal with the namespacing issues. Consequently for every
> application that implements a new interface the UUID is just a pain in the
> butt. Your thesis that _Implementation_ ID's are in any way different to
> interface ID's is based on the ( currently accurate ) sad premis that new
> components will typicaly not implement any new interfaces.

I don't think this is a sad premise. Widely implemented interfaces are
more useful than rarely implemented interfaces. I would go so far as
to question the value of any interface implemented by only one
component.

> > I don't think being easy to type is a requirement; #defines should be   
> > used anyway to avoid typos, the bane of magic string constants.
> 
>         No one is arguing with this; however you still have to copy the
> massive string from the oafinfo file to the C source file. I do not find
> the argument of 'compile #define files from the oafinfo files' argument
> over-convincing. This will create more autoconf hassle, needing manual
> rule insertion all over the place, and it is not clear what to call the
> #define.

It will cause far less autoconf hassle than IDL files do
currently. And even without this approach, cut and pasting the string
once from the oafinfo file to a header file is not disastrously
painful.

>         Anyway; the arguments all essentialy boil down to the fact that we
> both want a homogeneous naming convention, you seem to prefer:     
> 
>         OAFINFO::Massive random number - IID
>         IDL:Massive random number:1.0  - interface name ( if possible )
> and thus logicaly: ( speculation here )
>         /prefix/share/oaf/Massive random number.oafinfo

You're definitely exagerating here. First, I think every identifier
should have a human readable portion so they are identifiable by
eye. If we can also add something that guarantees uniqueness

Second, I don't agree that interface IDs, implementation IDs, and
filenames need to follow the same or similar naming schemes. There's
no reason why that should be the case.


>         I prefer a human readable namespace which is:
>         
>         OAFINFO:GNOME/Gnumeric/InstanceFactory - IID
>         IDL:GNOME/Gnumeric/Sheet               - interface name
>         /prefix/share/oaf/GNOME/Gnumeric.oafinfo - oafinfo file.
>         
>         I know which I would prefer to type, negotiate, manipulate and
> activate by... it seems MS use a human readable setup for their registry  
> keys, which seems to work ( to me ).

The registry is widely considered the top source of system messiness
and instability. I don't think it can be considered a good solution
for anything. Nontheless, the registry keys map to guaranteed unique
UUIDs, and it's guaranteed by the registry itself that on any given
machine, there will be only one key with a given name. Your proposal
has neither of these properties.

 - Maciej





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