Jazz 1.26.+
Loading...
Searching...
No Matches
bebop.h
1/* Jazz (c) 2018-2026 kaalam.ai (The Authors of Jazz), using (under the same license):
2
3 1. Biomodelling - The AATBlockQueue class (c) Jacques BasaldĂșa, 2009-2012 licensed
4 exclusively for the use in the Jazz server software.
5
6 Copyright 2009-2012 Jacques BasaldĂșa
7
8 2. BBVA - Jazz: A lightweight analytical web server for data-driven applications.
9
10 Copyright 2016-2017 Banco Bilbao Vizcaya Argentaria, S.A.
11
12 This product includes software developed at
13
14 BBVA (https://www.bbva.com/)
15
16 3. LMDB, Copyright 2011-2017 Howard Chu, Symas Corp. All rights reserved.
17
18 Licensed under http://www.OpenLDAP.org/license.html
19
20
21 Licensed under the Apache License, Version 2.0 (the "License");
22 you may not use this file except in compliance with the License.
23 You may obtain a copy of the License at
24
25 http://www.apache.org/licenses/LICENSE-2.0
26
27 Unless required by applicable law or agreed to in writing, software
28 distributed under the License is distributed on an "AS IS" BASIS,
29 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
30 See the License for the specific language governing permissions and
31 limitations under the License.
32*/
33
34
35#include "src/jazz_bebop/namespace.h"
36
37#if defined CATCH_TEST
38#ifndef INCLUDED_JAZZ_CATCH2
39#define INCLUDED_JAZZ_CATCH2
40
41#include "src/catch2/catch.hpp"
42
43#endif
44#endif
45
46
47#ifndef INCLUDED_JAZZ_BEBOP_BEBOP
48#define INCLUDED_JAZZ_BEBOP_BEBOP
49
50
51//TODO: All this Fields idea is obsolete. The Fields server is just a Space, but the function is still needed.
52//The Field (API) - Since A Snippet is immutable, the Field creates a new one that replaces the old one.
53
54
55// /** \brief Fields: A Space for Snippets.
56
57// A Fields is Space interface to the base `index` of the Volatile Container. The entity is the Fields and the key is the name of the snippet.
58
59// A field is a namespace inside Fields.
60// */
61// class Fields : public Space {
62
63// public:
64
65// Fields(pBaseAPI api);
66
67// virtual StatusCode start();
68
69// virtual pChar const id();
70
71// private:
72
73// Name storage_ent; ///< The name of the storage entity (Typically an lmdb database with the metadata of all SemSpaces).
74// pVolatile p_volatile; ///< The Volatile container
75// pPersisted p_persisted; ///< The Persisted container
76// pBaseAPI p_api; ///< A pointer to the BaseAPI that provides access to containers.
77// };
78// typedef Fields *pFields; ///< A pointer to a Fields
79
80
84namespace jazz_bebop
85{
86
91class Bebop : public BaseAPI {
92
93 public:
94
95 Bebop(pLogger a_logger, pConfigFile a_config, pChannels a_channels, pVolatile a_volatile, pPersisted a_persisted, pCore a_core);
96 ~Bebop();
97
98 virtual pChar const id();
99
100 StatusCode start ();
102
103 virtual void base_names(BaseNames &base_names);
104
105#ifndef CATCH_TEST
106 private:
107#endif
108
110};
111typedef Bebop *pBebop;
112
113
114#ifdef CATCH_TEST
115
116// Instancing Bebop
117// ----------------
118
119extern Bebop BOP;
120
121#endif
122
123
124} // namespace jazz_bebop
125
126#endif // ifndef INCLUDED_JAZZ_BEBOP_BEBOP
Bebop: The compiler.
Definition bebop.h:91
virtual pChar const id()
Definition bebop.cpp:142
StatusCode start()
Definition bebop.cpp:152
StatusCode shut_down()
Definition bebop.cpp:170
pCore p_core
A pointer to the Core container.
Definition bebop.h:109
virtual void base_names(BaseNames &base_names)
Definition bebop.cpp:183
BaseAPI: The parent of API and Core.
Definition base_api.h:122
Core: The execution unit is now a wrapper around onnx-runtime.
Definition core.h:89
Channels: A Container doing block transactions across media (files, folders, shell,...
Definition channel.h:244
A configuration file as a key/value store.
Definition utils.h:218
A simple logger.
Definition utils.h:248
Persisted: A Service to manage data objects in LMDB.
Definition persisted.h:111
Volatile: A Service to manage data objects in RAM.
Definition volatile.h:243
The Bop compiler.
Definition bebop.cpp:115
Bebop * pBebop
A pointer to a Bebop compiler.
Definition bebop.h:111
std::map< String, pContainer > BaseNames
A map of names for the containers (or structure engines like "map" or "tree" inside Volatile).
Definition container.h:166
char * pChar
A pointer to a char buffer.
Definition types.h:189
int StatusCode
Type returned by the Service API.
Definition utils.h:142