kDB: Knowledge DataBase
Loading...
Searching...
No Matches
Services.h
1#pragma once
2
3#include <QSharedPointer>
4#include <kDB/Forward.h>
5#include <typeindex>
6
7namespace kDB::Repository
8{
13 {
14 public:
15 Services();
16 Services(const Services& _rhs);
17 Services operator=(const Services& _rhs);
18 ~Services();
23 template<typename _T_>
24 void addService(_T_* _service, int _priority = 0)
25 {
26 addService(_service, _priority, typeid(_T_));
27 }
32 knowDBC::Result call(const knowCore::Uri& _service, const QString& _query,
33 const knowCore::ValueHash& _bindings) const;
37 template<typename _T_>
39 {
40 removeAllServices(typeid(_T_));
41 }
42 private:
43 void addService(AbstractService* _service, int _priority, const std::type_index& _type);
44 void removeAllServices(const std::type_index& _type);
45 private:
46 struct Private;
48 };
49} // namespace kDB::Repository
Definition Forward.h:6
Definition AbstractService.h:15
Definition Services.h:13
knowDBC::Result call(const knowCore::Uri &_service, const QString &_query, const knowCore::ValueHash &_bindings) const
Definition Services.cpp:57
void addService(_T_ *_service, int _priority=0)
Definition Services.h:24
void removeAllServices()
Definition Services.h:38
Definition Uri.h:15
Definition ValueHash.h:13
Definition Result.h:23