Adaptive Framework  0.9.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Files | Macros | Functions

Files

file  afw_adaptor_session_impl_declares.h
 Interface afw_interface implementation declares.
 

Macros

#define __AFW_ADAPTOR_SESSION_IMPL_DECLARES_H__   1
 
#define _AFW_IMPLEMENTATION_ID_   "unspecified"
 
#define _AFW_IMPLEMENTATION_SPECIFIC_   NULL
 
#define _AFW_IMPLEMENTATION_SOURCE_FILE_   __FILE__
 

Functions

 impl_afw_adaptor_session_destroy (const afw_adaptor_session_t *instance, afw_xctx_t *xctx)
 
 impl_afw_adaptor_session_retrieve_objects (const afw_adaptor_session_t *instance, const afw_adaptor_impl_request_t *impl_request, const afw_utf8_t *object_type_id, const afw_query_criteria_t *criteria, void *context, afw_object_cb_t callback, const afw_object_t *adaptor_type_specific, const afw_pool_t *p, afw_xctx_t *xctx)
 
 impl_afw_adaptor_session_get_object (const afw_adaptor_session_t *instance, const afw_adaptor_impl_request_t *impl_request, const afw_utf8_t *object_type_id, const afw_utf8_t *object_id, void *context, afw_object_cb_t callback, const afw_object_t *adaptor_type_specific, const afw_pool_t *p, afw_xctx_t *xctx)
 
 impl_afw_adaptor_session_add_object (const afw_adaptor_session_t *instance, const afw_adaptor_impl_request_t *impl_request, const afw_utf8_t *object_type_id, const afw_utf8_t *suggested_object_id, const afw_object_t *object, const afw_object_t *adaptor_type_specific, afw_xctx_t *xctx)
 
 impl_afw_adaptor_session_modify_object (const afw_adaptor_session_t *instance, const afw_adaptor_impl_request_t *impl_request, const afw_utf8_t *object_type_id, const afw_utf8_t *object_id, const afw_adaptor_modify_entry_t *const *entry, const afw_object_t *adaptor_type_specific, afw_xctx_t *xctx)
 
 impl_afw_adaptor_session_replace_object (const afw_adaptor_session_t *instance, const afw_adaptor_impl_request_t *impl_request, const afw_utf8_t *object_type_id, const afw_utf8_t *object_id, const afw_object_t *replacement_object, const afw_object_t *adaptor_type_specific, afw_xctx_t *xctx)
 
 impl_afw_adaptor_session_delete_object (const afw_adaptor_session_t *instance, const afw_adaptor_impl_request_t *impl_request, const afw_utf8_t *object_type_id, const afw_utf8_t *object_id, const afw_object_t *adaptor_type_specific, afw_xctx_t *xctx)
 
 impl_afw_adaptor_session_begin_transaction (const afw_adaptor_session_t *instance, afw_xctx_t *xctx)
 
 impl_afw_adaptor_session_get_journal_interface (const afw_adaptor_session_t *instance, afw_xctx_t *xctx)
 
 impl_afw_adaptor_session_get_key_value_interface (const afw_adaptor_session_t *instance, afw_xctx_t *xctx)
 
 impl_afw_adaptor_session_get_index_interface (const afw_adaptor_session_t *instance, afw_xctx_t *xctx)
 
 impl_afw_adaptor_session_get_object_type_cache_interface (const afw_adaptor_session_t *instance, afw_xctx_t *xctx)
 

Detailed Description

This file should only be included in c source files that implement interface afw_adaptor_session.

You can find a skeleton for using this #include file in the corresponding source directory in file generated/interface_closet/skeleton_afw_adaptor_session.c.

Mutiple *_impl.declares.h can be included in each c source file, but only one for each interface name.

After the #include for afw_adaptor_session_impl_declares.h:

  1. declarations will exist for all of the interfaces methods with names of impl_afw_adaptor_session_ followed by the method name.
  2. rti will be defined with a name of impl_afw_adaptor_session_rti.
  3. inf will be defined with a name of impl_afw_adaptor_session_inf.

Before including, define the following symbols:

Example:

static const sometype_t impl_myimpl_stuff = {
...
};
#define AFW_IMPLEMENTATION_ID "myimpl"
#define AFW_IMPLEMENTATION_SPECIFIC &impl_myimpl_stuff
A second #include "afw_adaptor_session_impl_declares.h" can be specified if
" * #define "AFW_ADAPTOR_SESSION_INF_ONLY" is specified to generate inf only."
Interface afw_interface implementation declares.

Function Documentation

◆ impl_afw_adaptor_session_add_object()

impl_afw_adaptor_session_add_object ( const afw_adaptor_session_t instance,
const afw_adaptor_impl_request_t impl_request,
const afw_utf8_t object_type_id,
const afw_utf8_t suggested_object_id,
const afw_object_t object,
const afw_object_t adaptor_type_specific,
afw_xctx_t xctx 
)
Todo:
FIXME: Add common prologue code.
Todo:
FIXME: Add common epilogue code.
Todo:
FIXME: Should this be an error???

Definition at line 1220 of file afw_adaptor_impl.c.

◆ impl_afw_adaptor_session_begin_transaction()

impl_afw_adaptor_session_begin_transaction ( const afw_adaptor_session_t instance,
afw_xctx_t xctx 
)
Todo:
FIXME: Add common prologue code.
Todo:
FIXME: Add common epilogue code.

Definition at line 1482 of file afw_adaptor_impl.c.

◆ impl_afw_adaptor_session_delete_object()

impl_afw_adaptor_session_delete_object ( const afw_adaptor_session_t instance,
const afw_adaptor_impl_request_t impl_request,
const afw_utf8_t object_type_id,
const afw_utf8_t object_id,
const afw_object_t adaptor_type_specific,
afw_xctx_t xctx 
)
Todo:
FIXME: Add common prologue code.
Todo:
FIXME: Add common epilogue code.
Todo:
FIXME: This is ok, but we may want to log an internal message.
Todo:
FIXME: we should not let the original error make it back to the client.

Definition at line 1426 of file afw_adaptor_impl.c.

◆ impl_afw_adaptor_session_destroy()

impl_afw_adaptor_session_destroy ( const afw_adaptor_session_t instance,
afw_xctx_t xctx 
)
Todo:
FIXME: Add common prologue code.
Todo:
FIXME: Add common epilogue code.

Definition at line 789 of file afw_adaptor_impl.c.

◆ impl_afw_adaptor_session_get_index_interface()

impl_afw_adaptor_session_get_index_interface ( const afw_adaptor_session_t instance,
afw_xctx_t xctx 
)
Todo:
FIXME: Add common prologue code.
Todo:
FIXME: Add common epilogue code.

Definition at line 1563 of file afw_adaptor_impl.c.

◆ impl_afw_adaptor_session_get_key_value_interface()

impl_afw_adaptor_session_get_key_value_interface ( const afw_adaptor_session_t instance,
afw_xctx_t xctx 
)
Todo:
FIXME: Add common prologue code.
Todo:
FIXME: Add common epilogue code.

Definition at line 1537 of file afw_adaptor_impl.c.

◆ impl_afw_adaptor_session_get_object()

impl_afw_adaptor_session_get_object ( const afw_adaptor_session_t instance,
const afw_adaptor_impl_request_t impl_request,
const afw_utf8_t object_type_id,
const afw_utf8_t object_id,
void *  context,
afw_object_cb_t  callback,
const afw_object_t adaptor_type_specific,
const afw_pool_t p,
afw_xctx_t xctx 
)
Todo:
FIXME: Add common prologue code.
Todo:
FIXME: Add common epilogue code.
Todo:
FIXME: Add timeout config parameter.

Definition at line 1097 of file afw_adaptor_impl.c.

◆ impl_afw_adaptor_session_modify_object()

impl_afw_adaptor_session_modify_object ( const afw_adaptor_session_t instance,
const afw_adaptor_impl_request_t impl_request,
const afw_utf8_t object_type_id,
const afw_utf8_t object_id,
const afw_adaptor_modify_entry_t *const *  entry,
const afw_object_t adaptor_type_specific,
afw_xctx_t xctx 
)
Todo:
FIXME: Add common prologue code.
Todo:
FIXME: Add common epilogue code.
Todo:
FIXME: Deal with results in journal entry.

Definition at line 1290 of file afw_adaptor_impl.c.

◆ impl_afw_adaptor_session_replace_object()

impl_afw_adaptor_session_replace_object ( const afw_adaptor_session_t instance,
const afw_adaptor_impl_request_t impl_request,
const afw_utf8_t object_type_id,
const afw_utf8_t object_id,
const afw_object_t replacement_object,
const afw_object_t adaptor_type_specific,
afw_xctx_t xctx 
)
Todo:
FIXME: Add common prologue code.
Todo:
FIXME: Add common epilogue code.
Todo:
FIXME: Deal with results in journal entry.

Definition at line 1360 of file afw_adaptor_impl.c.

◆ impl_afw_adaptor_session_retrieve_objects()

impl_afw_adaptor_session_retrieve_objects ( const afw_adaptor_session_t instance,
const afw_adaptor_impl_request_t impl_request,
const afw_utf8_t object_type_id,
const afw_query_criteria_t criteria,
void *  context,
afw_object_cb_t  callback,
const afw_object_t adaptor_type_specific,
const afw_pool_t p,
afw_xctx_t xctx 
)
Todo:
FIXME: Add common prologue code.
Todo:
FIXME: Add query info as object.
Todo:
FIXME: discuss this defensive check, it's null when indexing
Todo:
FIXME: Add common epilogue code.
Todo:
FIXME: seems to be this on windows
Todo:
make sure (apr_ssize_t *) doesn't cause loss of bits.

Definition at line 974 of file afw_adaptor_impl.c.