Что такое контекст и среда OCCI? - PullRequest
0 голосов
/ 06 апреля 2009

Я исследую часть программного обеспечения, использующего Oracle API, и насколько я часто вижу, методы объекта ожидают в качестве аргумента значения "контекста OCCI" или "среды OCCI".

Примером является конструктор объекта Account:

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

позже перегружен

Account( void* oraCtx );

Я могу понять, что они каким-то образом связаны с «обработчиком соединений», но я хотел бы узнать больше.

Я погуглил, но не смог найти ничего достаточно ясного для меня, кажется, каждый документ начинается с предположения, что вы уже знаете Oracle API.

Спасибо.

1 Ответ

3 голосов
/ 06 апреля 2009

OCCI Environment позволяет вам определять свои собственные функции управления памятью, которые OCCI будут использовать позже.

Когда вы создаете environment, вы передаете указатели своим собственным malloc, realloc и 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 - это просто указатель на Environment, который передается этим функциям, когда OCCI вызывает их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...