On 06/08/2014 09:15, Dimitry Sibiryakov wrote: > 06.08.2014 14:06, Alex Peshkoff wrote: >>>> I would suggest for IStatus following methods: >>>> >>>> int check() - returns 0 if status is empty, 1 if has warnings and 2 if has >>>> errors >>>> >>>> char* getText() - return fully interpreted text >>>> >>>> ICode* getCode(ISC_STATUS code) - return object encapsulating a definite >>>> gdscode block or >>>> NULL if such code isn't inside >>>> >> Why not? Seems very reasonable. > I would only ask to make possible following code to work without resource > leaks: > > char* FKName = status->getCode(isc_foreign_key)->params(0); > > Currently with IRefCounted such style is impossible. > If IStatus needs to return status vector, and it needs, for the old API, I think we should not add utility methods to it.
Utility methods should go in utility classes (IUtl - which I think should be renamed to IUtil), otherwise anyone who creates a class for it needs to reimplement identical utility methods. Adriano ------------------------------------------------------------------------------ Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel