Adaptive Framework  0.9.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
afw_adaptor.h
Go to the documentation of this file.
1 // See the 'COPYING' file in the project root for licensing information.
2 /*
3  * Helpers for interfaces afw_adaptor*
4  *
5  * Copyright (c) 2010-2023 Clemson University
6  *
7  */
8 
9 #ifndef __AFW_ADAPTOR_H__
10 #define __AFW_ADAPTOR_H__
11 
12 #include "afw_interface.h"
13 
14 /* Headers that are part of the adaptor api. */
15 #include "afw_adaptor_add.h"
16 #include "afw_adaptor_delete.h"
17 #include "afw_adaptor_get.h"
18 #include "afw_adaptor_journal.h"
19 #include "afw_adaptor_modify.h"
20 #include "afw_adaptor_replace.h"
21 #include "afw_adaptor_retrieve.h"
22 
48 
49 
58 
61 
64 
67 
70 
73 
76 
79 };
80 
81 
82 
93 AFW_DECLARE(void)
95  const afw_adaptor_t *adaptor,
96  const afw_pool_t *p,
97  afw_xctx_t *xctx);
98 
99 
100 
115 AFW_DECLARE(const afw_adaptor_t *)
116 afw_adaptor_get_reference(const afw_utf8_t *adaptor_id, afw_xctx_t *xctx);
117 
118 
134  const afw_object_t *query_criteria,
135  const afw_utf8_t *adaptor_id,
136  const afw_utf8_t *object_type_id,
137  const afw_object_t *journal_entry,
138  const afw_pool_t *p,
139  afw_xctx_t *xctx);
140 
141 
157  const afw_utf8_t *url_encoded_rql_string,
158  const afw_utf8_t *adaptor_id,
159  const afw_utf8_t *object_type_id,
160  const afw_object_t *journal_entry,
161  const afw_pool_t *p,
162  afw_xctx_t *xctx);
163 
164 
173 AFW_DECLARE(void)
174 afw_adaptor_release(const afw_adaptor_t *adaptor, afw_xctx_t *xctx);
175 
176 
177 
189 AFW_DECLARE(void)
191  afw_xctx_t *xctx);
192 
193 
194 
210  const afw_utf8_t *adaptor_id, afw_xctx_t *xctx);
211 
212 
213 
229  const afw_utf8_t *adaptor_id,
230  afw_boolean_t begin_transaction,
231  afw_xctx_t *xctx);
232 
233 
244 AFW_DECLARE(void)
246  const afw_adaptor_session_t *session,
247  afw_xctx_t *xctx);
248 
249 AFW_END_DECLARES
250 
253 #endif /* __AFW_ADAPTOR_H__ */
Adaptive Framework adaptor add object.
Adaptive Framework adaptor delete object.
Adaptive Framework adaptor get object.
Adaptive Framework adaptor journal.
Adaptive Framework adaptor modify object.
Adaptive Framework adaptor replace object.
Adaptive Framework adaptor retrieve objects.
#define AFW_BEGIN_DECLARES
#define AFW_DECLARE(type)
Declare a public afw function.
Interfaceafw_interface header.
void afw_adaptor_session_release(const afw_adaptor_session_t *session, afw_xctx_t *xctx)
Release an adaptor session created by afw_adaptor_session_create().
Definition: afw_adaptor.c:282
const afw_adaptor_session_t * afw_adaptor_session_create(const afw_utf8_t *adaptor_id, afw_xctx_t *xctx)
Create an adaptor session.
Definition: afw_adaptor.c:265
void afw_adaptor_context_prepare(const afw_adaptor_t *adaptor, const afw_pool_t *p, afw_xctx_t *xctx)
Prepare expression evaluation context for adaptor::.
void afw_adaptor_release(const afw_adaptor_t *adaptor, afw_xctx_t *xctx)
Release an adaptor accessed by afw_adaptor_get_reference().
Definition: afw_adaptor.c:221
const afw_adaptor_session_t * afw_adaptor_session_get_cached(const afw_utf8_t *adaptor_id, afw_boolean_t begin_transaction, afw_xctx_t *xctx)
Get/create an active cached session for adaptor_id.
Definition: afw_adaptor.c:375
void afw_adaptor_session_commit_and_release_cache(afw_boolean_t abort, afw_xctx_t *xctx)
Commit/Abort changes and release cached sessions and objects.
Definition: afw_adaptor.c:391
const afw_query_criteria_t * afw_adaptor_query_criteria_parse_object(const afw_object_t *query_criteria, const afw_utf8_t *adaptor_id, const afw_utf8_t *object_type_id, const afw_object_t *journal_entry, const afw_pool_t *p, afw_xctx_t *xctx)
Parse query criteria object appropriate for an adaptor.
Definition: afw_adaptor.c:173
const afw_adaptor_t * afw_adaptor_get_reference(const afw_utf8_t *adaptor_id, afw_xctx_t *xctx)
Get an adaptor and make sure it is started.
Definition: afw_adaptor.c:143
const afw_query_criteria_t * afw_adaptor_query_criteria_parse_url_encoded_rql_string(const afw_utf8_t *url_encoded_rql_string, const afw_utf8_t *adaptor_id, const afw_utf8_t *object_type_id, const afw_object_t *journal_entry, const afw_pool_t *p, afw_xctx_t *xctx)
Parse URL encoded RQL query string appropriate for an adaptor.
Definition: afw_adaptor.c:197
_Bool afw_boolean_t
Definition: afw_common.h:373
apr_int64_t afw_integer_t
typedef for big signed int.
Definition: afw_common.h:321
const afw_utf8_t * service_id
Associated service id or NULL.
Definition: afw_adaptor.h:72
afw_integer_t reference_count
Reference count for this instance of adaptor.
Definition: afw_adaptor.h:75
const afw_utf8_t * adaptor_type_id
Adaptor type id.
Definition: afw_adaptor.h:63
const afw_adaptor_t * adaptor
Adaptor instance or NULL.
Definition: afw_adaptor.h:66
const afw_object_t * properties
Associated properties.
Definition: afw_adaptor.h:69
const afw_utf8_t * adaptor_id
Adaptor id.
Definition: afw_adaptor.h:60
afw_adaptor_id_anchor_t * stopping
First/next stopping adaptor or NULL.
Definition: afw_adaptor.h:78
Interface afw_adaptor public struct.
Interface afw_adaptor_session public struct.
Interface afw_object public struct.
Interface afw_pool public struct.
Parsed query criteria.
NFC normalized UTF-8 string.
Definition: afw_common.h:545
Interface afw_xctx public struct.