2009-04-06 6 views
0

J'explore un logiciel utilisant l'API Oracle et, pour autant que je puisse le voir, les méthodes objet attendent souvent comme argument un "contexte OCCI" ou un "environnement OCCI".Qu'est-ce qu'un contexte et un environnement OCCI?

Un exemple est un constructeur d'un objet de compte:

Account(oracle::occi::Environment* env); 

plus tard surchargé avec

Account(void* oraCtx); 

Je peux comprendre que d'une certaine manière qu'ils ont à faire avec une sorte de « gestionnaire de connexion », mais J'aimerais en savoir plus.

J'ai fait un googled autour mais je ne pourrais pas trouver n'importe quoi assez clair pour moi, il semble que chaque doc commence à partir de l'hypothèse que vous connaissez déjà Oracle API.

Merci.

Répondre

3

OCCI Environment vous permet de définir vos propres fonctions de gestion de la mémoire que utilisera par la suite.

Lorsque vous créez un environment, vous passez les pointeurs vers votre propre malloc, realloc et free:

static Environment * createEnvironment(Mode mode = DEFAULT, 
    void *ctxp = 0, 
    void *(*malocfp)(void *ctxp, size_t size) = 0, 
    void *(*ralocfp)(void *ctxp, void *memptr, size_t newsize) = 0, 
    void (*mfreefp)(void *ctxp, void *memptr) = 0); 

Context est juste un pointeur vers un Environment qui est passé à ces fonctions lorsque les appelle.