[saga-rg] Fwd (schuett at zib.de): Re: SAGA Strawman API
Thorsten Schuett
schuett at zib.de
Sat May 21 15:51:16 CDT 2005
On Friday 20 May 2005 19:18, Andre Merzky wrote:
> Q: Why does the package NameSpace need a interface NSDir?
> Shouldn't that be named Directory?
>
> A: It WAS named directore before, but we thought Dir to be,
> well, shorter, w/o loosing meaning. Hmm, I prefer Dir
> for beeing shorter, but have no strong opniion about it.
> Others?
NS is redundant and the meaning of Directory is more obvious than Dir.
> > - Irgendwie sind die Flags merkwürdig. Ich könnte ein Flags-Array mit
> > Create und NoCreate erzeugen. Es würde dann zwar ein Exception geworfen,
> > aber sowas kann auch der Compiler überprüfen. Lass doch die NoXXXX Flags
> > weg und mach flags zu einem set<openFlags>. Dann gibt es auch keine
> > doppelten Flags. Und wenn ihr schon numerische Werte für die Flags
> > einführt, gestalte sie doch so, dass man auch ein einen Integer und
> > Bit-Arithmetik in einem Binding verwenden kann.
> > enum openFlags{
> > Create = 1,
> > Excl = 2,
> > Truncate = 4,
> > Append = 8,
> > Lock = 16
> > };
>
> Q: Flags are strange: I could create a flagg array with both
> 'Create' and 'NoCreate'. Well, thats would give an
> exception, but thats something which could be catched by
> the compiler. You could leave out the NoXXX flags, and
> change the flags to set<openFlags>. the there are no double
> flags. And if you go for numeric values, you could do
> the usual bit arithmetik thingie...
>
> A: I agree. I can't for sure remember the rationale for the
> current notation -- but I think we left that to the
> language binding. So, in C we would do what you suggest.
Actually, you can't do the bit thingie in C. If you specify numerical values
for the different flags, all bindings have to follow this specification.
> Q: Interface Attributes: strange name, isn't that rather a
> description or such? removeAttribute is not fleshed out.
> You can't have multiple values for one key - a pity.
>
> A: Hmm, maybe we didn't transport the idea well enough.
> Think physical files: attributes would be for example:
> file size, file type, last mod time, owner, ACL etc.
> You don't have two values for size. If you have more
> than one item to one key (acl), you have vector
> attributes for these.
Ok, my fault. You can have multiple values for one key using the
xxxVectorAttribute-Calls.
Regarding the name of the interface: I associate with "Attribute" one
Key-Value-Pair but your interface represents a set of attributes. Thatswhy I
think that the name is strange.
Thorsten
More information about the saga-rg
mailing list