Sen API
Sen Libraries
Loading...
Searching...
No Matches
package_manager.h
Go to the documentation of this file.
1// === package_manager.h ===============================================================================================
2// Sen Infrastructure
3// Released under the Apache License v2.0 (SPDX-License-Identifier Apache-2.0).
4// See the LICENSE.txt file for more information.
5// © Airbus SAS, Airbus Helicopters, and Airbus Defence and Space SAU/GmbH/SAS.
6// =====================================================================================================================
7
8#ifndef SEN_KERNEL_PACKAGE_MANAGER_H
9#define SEN_KERNEL_PACKAGE_MANAGER_H
10
11// sen
14#include "stl/sen/kernel/basic_types.stl.h"
15
16// stl
17#include <memory>
18#include <string>
19#include <vector>
20
21namespace sen::kernel
22{
23
26{
27 SEN_NOCOPY_NOMOVE(PackageManager)
28
29public:
32
33public:
35 void import(const std::vector<std::string>& packageNames);
36
38 [[nodiscard]] const CustomTypeRegistry& getImportedTypes() const noexcept;
39
41 [[nodiscard]] const Type* lookupType(const std::string& typeName);
42
43private:
44 class Impl;
45 std::unique_ptr<Impl> pimpl_;
46};
47
48} // namespace sen::kernel
49
50#endif // SEN_KERNEL_PACKAGE_MANAGER_H
Here we define a set of template meta-programming helpers to let the compiler take some decisions bas...
A registry of custom types.
Definition type_registry.h:36
Represents a type that can be used to define variables and arguments for methods or functions....
Definition type.h:71
const Type * lookupType(const std::string &typeName)
Look for a manually-defined type inside the imported packages.
const CustomTypeRegistry & getImportedTypes() const noexcept
The types loaded so far.
PackageManager(CustomTypeRegistry &reg)
Strong type for the unique identifier for a transport timer.
Definition native_object_impl.h:39
STL namespace.