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

Files

file  afw_adaptor_impl_declares.h
 Interface afw_interface implementation declares.
 

Macros

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

Functions

 impl_afw_adaptor_destroy (const afw_adaptor_t *instance, afw_xctx_t *xctx)
 
 impl_afw_adaptor_create_adaptor_session (const afw_adaptor_t *instance, afw_xctx_t *xctx)
 
 impl_afw_adaptor_get_additional_metrics (const afw_adaptor_t *instance, const afw_pool_t *p, afw_xctx_t *xctx)
 

Detailed Description

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

You can find a skeleton for using this #include file in the corresponding source directory in file generated/interface_closet/skeleton_afw_adaptor.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_impl_declares.h:

  1. declarations will exist for all of the interfaces methods with names of impl_afw_adaptor_ followed by the method name.
  2. rti will be defined with a name of impl_afw_adaptor_rti.
  3. inf will be defined with a name of impl_afw_adaptor_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_impl_declares.h" can be specified if
" * #define "AFW_ADAPTOR_INF_ONLY" is specified to generate inf only."
Interface afw_interface implementation declares.

Function Documentation

◆ impl_afw_adaptor_create_adaptor_session()

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

Definition at line 733 of file afw_adaptor_impl.c.

◆ impl_afw_adaptor_destroy()

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

Definition at line 713 of file afw_adaptor_impl.c.

◆ impl_afw_adaptor_get_additional_metrics()

impl_afw_adaptor_get_additional_metrics ( const afw_adaptor_t instance,
const afw_pool_t p,
afw_xctx_t xctx 
)
Todo:
FIXME: Add common prologue code.
Todo:
FIXME: Add common epilogue code.
Todo:
Add code to implement method.
Todo:
FIXME: Jeremy

You need to call this here with the name of an object type defined in afw_lmdb/object/_AdaptiveObjectType_/

afw_object_meta_set_object_type_id(metrics, &afw_lmdb_s_????, xctx);

This object type can have the object type for all of the embedded objects – version, statistics, and information. These should also be defined in afw_lmdb/object/_AdaptiveObjectType_/. You should also use afw_object_meta_set_object_type_id() to set the object type of these embedded objects.

Use afw_object_create_embedded() instead of afw_object_create_managed() for the embedded ones. This creates the object and sets the property in the embedding object. So the afw_object_set_property_as_object() for each at the end can be removed.

When this is done and you access /afw/_AdaptiveAdaptor_/... the "metrics.additional" property should have meta.

Definition at line 764 of file afw_adaptor_impl.c.