CCF
|
Namespaces | |
namespace | core |
namespace | extensions |
namespace | modules |
Classes | |
class | AbstractInterpreterCache |
class | BaseDynamicJSEndpointRegistry |
struct | Bundle |
struct | CustomJSEndpoint |
class | DynamicJSEndpointRegistry |
class | GovernanceDrivenJSRegistry |
class | InterpreterCache |
struct | JSDynamicEndpoint |
struct | Metadata |
struct | ModuleDef |
class | WithCommonExtensions |
class | WithKVExtension |
Typedefs | |
using | CommonContext = WithCommonExtensions< js::core::Context > |
using | CommonContextWithLocalTx = WithKVExtension< CommonContext > |
using | InterpreterFactory = std::function< std::shared_ptr< js::core::Context >(js::TxAccess)> |
using | NamespaceRestriction = std::function< KVAccessPermissions(const std::string &map_name, std::string &explanation)> |
Enumerations | |
enum class | KVAccessPermissions { ILLEGAL = 0 , READ_ONLY = 1 << 0 , WRITE_ONLY = 1 << 1 , READ_WRITE = READ_ONLY | WRITE_ONLY } |
enum class | TxAccess { APP_RO , APP_RW , GOV_RO , GOV_RW } |
Functions | |
DECLARE_JSON_TYPE (Metadata) | |
DECLARE_JSON_REQUIRED_FIELDS (Metadata, endpoints) | |
DECLARE_JSON_TYPE (ModuleDef) | |
DECLARE_JSON_REQUIRED_FIELDS (ModuleDef, name, module) | |
DECLARE_JSON_TYPE (Bundle) | |
DECLARE_JSON_REQUIRED_FIELDS (Bundle, modules, metadata) | |
KVAccessPermissions | intersect_access_permissions (KVAccessPermissions l, KVAccessPermissions r) |
void | register_class_ids () |
std::string | normalised_module_path (std::string_view sv) |
Variables | |
JSClassExoticMethods | kv_historical_exotic_methods |
JSClassDef | kv_historical_class_def |
JSClassExoticMethods | kv_exotic_methods |
JSClassDef | kv_class_def |
JSClassID | kv_class_id = 0 |
JSClassID | kv_historical_class_id = 0 |
JSClassID | kv_map_handle_class_id = 0 |
JSClassID | historical_state_class_id = 0 |
JSClassDef | kv_map_handle_class_def = {} |
JSClassDef | historical_state_class_def |
using ccf::js::CommonContext = typedef WithCommonExtensions<js::core::Context> |
using ccf::js::CommonContextWithLocalTx = typedef WithKVExtension<CommonContext> |
using ccf::js::InterpreterFactory = typedef std::function<std::shared_ptr<js::core::Context>(js::TxAccess)> |
using ccf::js::NamespaceRestriction = typedef std::function<KVAccessPermissions( const std::string& map_name, std::string& explanation)> |
|
strong |
|
strong |
Describes the context in which JS script is currently executing. Used to determine which KV tables should be accessible.
ccf::js::DECLARE_JSON_REQUIRED_FIELDS | ( | Bundle | , |
modules | , | ||
metadata | |||
) |
ccf::js::DECLARE_JSON_REQUIRED_FIELDS | ( | Metadata | , |
endpoints | |||
) |
ccf::js::DECLARE_JSON_REQUIRED_FIELDS | ( | ModuleDef | , |
name | , | ||
module | |||
) |
ccf::js::DECLARE_JSON_TYPE | ( | Bundle | ) |
ccf::js::DECLARE_JSON_TYPE | ( | Metadata | ) |
ccf::js::DECLARE_JSON_TYPE | ( | ModuleDef | ) |
|
inline |
std::string ccf::js::normalised_module_path | ( | std::string_view | sv | ) |
void ccf::js::register_class_ids | ( | ) |
|
extern |
JSClassID ccf::js::historical_state_class_id = 0 |
JSClassDef ccf::js::kv_class_def |
JSClassID ccf::js::kv_class_id = 0 |
JSClassExoticMethods ccf::js::kv_exotic_methods |
JSClassDef ccf::js::kv_historical_class_def |
JSClassID ccf::js::kv_historical_class_id = 0 |
JSClassExoticMethods ccf::js::kv_historical_exotic_methods |
JSClassDef ccf::js::kv_map_handle_class_def = {} |
JSClassID ccf::js::kv_map_handle_class_id = 0 |