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

Reply via email to