> > "giiGetInputAttribute(input,origin,char *attrname,char *attrreturn,int
>maxattrlen);"
> > This allows to have any arbitrary strings that can be queried efficiently
> > and no need to support them all in all drivers. As the transport mechanism is
> > abstracted, then, it doesn't hinder transparency and efficiency.
> cool, we seem to be almost there. Now the only missing function is one that
> lists all available attributes (name / value pairs). *That* is really just
> convenience, but a nice wrapup of this whole feature.
Uh - I thought about it while writing, but the forgot lateron. A simple
method would be to either have a "set" pseudovariable that lists all known
vars (like the shell command does), but that isn't so nice, as it
potentially generates a long result which can be a headdache to deal with
when building it over a limited channel.
Another would be to restrict possible attribute names to be formed like a C
identifier, i.e. [alpha][alnum]*. This allows to query an attribute number
by just placing it into the string and then getting back the associated
attribute name. It's not really elegant, though, as you'd need sprintf
or similar to construct the string.
Probably biting the bullet and adding another function like
giiGetInputAttributeByNumber(input,origin,number,char *attrname,int maxattrnamelen);
would be best.
Cu, Andy
> PS: and thanks to Brian for getting us back on track ;)
*nod*
--
= Andreas Beck | Email : <[EMAIL PROTECTED]> =