xale-db 1.0
minimal SQL engine, written in c++
Loading...
Searching...
No Matches
Setup.h
Go to the documentation of this file.
1#ifndef CORE_XALE_SETUP_H
2#define CORE_XALE_SETUP_H
3
4#include <Logger.h>
10#include "Query/BasicParser.h"
16
17#include <string>
18#include <iostream>
19#include <memory>
20
21const std::string CONFIG_FILE_PATH = "appconfig.json";
22
23namespace Xale::Core
24{
25 class Setup {
26 public:
27 ~Setup();
28 static Setup& getInstance();
29 bool initialize();
30 void shutdown();
32 std::unique_ptr<Xale::Net::ISocketFactory>& getSocketFactory();
33 bool isInitialized() const;
34 private:
35 static std::unique_ptr<Setup> _instance;
36 Setup();
37 Setup(const Setup&) = delete;
38 Setup& operator=(const Setup&) = delete;
39 bool _isSetupDone = false;
40 Xale::Logger::Logger<Setup>& _logger;
41 std::unique_ptr<Xale::Storage::BinaryFileManager> _execFm;
42 std::unique_ptr<Xale::Storage::FileStorageEngine> _fileStorageEngine;
43 std::unique_ptr<Xale::Query::BasicTokenizer> _parserTokenizer;
44 std::unique_ptr<Xale::Query::BasicParser> _parser;
45 std::unique_ptr<Xale::Execution::TableManager> _tableManager;
46 std::unique_ptr<Xale::Execution::BasicExecutor> _executor;
47 std::unique_ptr<Xale::Engine::QueryEngine> _queryEngine;
48 std::unique_ptr<Xale::Net::ISocketFactory> _socketFactory;
49 };
50}
51
52#endif // CORE_XALE_SETUP_H
const std::string CONFIG_FILE_PATH
Definition Setup.h:21
void shutdown()
Definition Setup.cpp:131
bool initialize()
Definition Setup.cpp:24
std::unique_ptr< Xale::Net::ISocketFactory > & getSocketFactory()
Definition Setup.cpp:121
Xale::Engine::QueryEngine & getQueryEngine()
Definition Setup.cpp:116
~Setup()
Definition Setup.cpp:12
static Setup & getInstance()
Definition Setup.cpp:17
bool isInitialized() const
Definition Setup.cpp:126
Definition QueryEngine.h:16
Definition ConfigurationHandler.h:13