On 29/09/06, Pete Robbins <[EMAIL PROTECTED]> wrote:


I'd like to propose we get rid of SDOString and just use std::string.
SDOString inherits from std::string but does not add any additional
function. The initial idea of having SDOString was to add an additional
operator const char*() so that when we changed public API return values
from
const char* to SDOString a user would not have to ammend their code.
However, this didn't quite work so I believe SDOString is redundant.


There were other reasons too, although the only one that remains is my own
concern that we might eventually discover some extra functionality that we
needed. However, it hasn't happened so far so as you say SDOString probably
is redundant.

Next, we have many duplicate methods that take parameters as string or
char*. I would like to remove all the methods that take char* as const
string& will work just as well without causing users problems. I realise
that this is currently being discussed by the spec group and the current
spec has the interfaces using char*, however for input paramters this
proposal will still support the methods as if they were passing char* so I
think we should go for it. I'm sure the spec group will get round to
agreeing woth this ;-)


As far as I can tell they will. I had deliberately not made the switch to
the string class only methods yet because it seemed premature in advance of
the spec being changed.

Finally, and a bit later, we need to look at changing the public APIs that
return char* to return std::string but this can wait for the spec group to
decide if this is what they want. This will affect users as they will need
to use .c_str() on their return values if they require th char* string.


This is another reason why I left it in its current state. I thought it
would look a bit odd to have methods with a signature like

const char * getSomeValue(const SDOString& key)

or whatever, and, as you say we can't change the return parameters in
advance of the spec.

I agree with everything you are doing or proposing. I was just a bit wary of
implementing it in advance of changes in the spec.

Geoff.

Reply via email to