2 * SPDX-License-Identifier: MIT
4 * Copyright (C) 2010-2019 EfficiOS Inc. and Linux Foundation
7 #ifndef BABELTRACE2_GRAPH_PRIVATE_QUERY_EXECUTOR_H
8 #define BABELTRACE2_GRAPH_PRIVATE_QUERY_EXECUTOR_H
10 /* IWYU pragma: private, include <babeltrace2/babeltrace.h> */
12 #ifndef __BT_IN_BABELTRACE_H
13 # error "Please include <babeltrace2/babeltrace.h> instead."
16 #include <babeltrace2/types.h>
23 @defgroup api-priv-qexec Private query executor
24 @ingroup api-comp-cls-dev
27 Private view of a \bt_qexec for a \bt_comp_cls
28 \ref api-comp-cls-dev-meth-query "query method".
30 A <strong><em>private query executor</em></strong> is a private view,
31 from within a \bt_comp_cls
32 \ref api-comp-cls-dev-meth-query "query method", of a
35 A query method receives a private query executor as its
36 \bt_p{query_executor} parameter.
38 As of \bt_name_version_min_maj, this module only offers the
39 bt_private_query_executor_as_query_executor_const() function to
40 \ref api-fund-c-typing "upcast" a private query executor to a
41 \c const query executor. You need this to get the query executor's
42 \ref api-qexec-prop-log-lvl "logging level".
51 @typedef struct bt_private_query_executor bt_private_query_executor;
54 Private query executor.
66 \ref api-fund-c-typing "Upcasts" the private query executor
67 \bt_p{query_executor} to the public #bt_query_executor type.
69 @param[in] query_executor
71 Private query executor to upcast.
77 \bt_p{query_executor} as a public query executor.
80 const bt_query_executor
*
81 bt_private_query_executor_as_query_executor_const(
82 bt_private_query_executor
*query_executor
) __BT_NOEXCEPT
84 return __BT_UPCAST_CONST(bt_query_executor
, query_executor
);
95 #endif /* BABELTRACE2_GRAPH_PRIVATE_QUERY_EXECUTOR_H */