On 11/18/14 14:40, Adriano dos Santos Fernandes wrote: .....
> As an API writer of a project that doesn't follow standards (talking > specially about std exceptions), you need to create an API which is > usable by different ways, that can be mixed (each project uses in its > way). Current code mix the idea of customizable design with > non-customizable implementation. Adriano, hi! I've almost fixed issues mentioned by you, but I can't avoid one bad problem - declaration of fb_get_master_interface(). When we use API with app-defined policy we need to declare it returning appropriate value. What do you think - can we find a better way than macro #define DECLARE_GET_MASTER(P) extern "C" Firebird::FirebirdApi<P>::Master* ISC_EXPORT fb_get_master_interface(); with usage like: DECLARE_GET_MASTER(FirebirdPolicy) static IMaster* master = fb_get_master_interface(); (that works but IMHO itself does not look beautiful) A. ------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel