lintel 0.2.0
Loading...
Searching...
No Matches
SharedMemoryCliComponent.h
Go to the documentation of this file.
1#ifndef LINTEL_SHAREDMEMORYCLICOMPONENT_H
2#define LINTEL_SHAREDMEMORYCLICOMPONENT_H
3
7
8namespace lintel {
11{
12private:
13 static constexpr std::string_view m_name = "SharedMemory";
14 static constexpr std::string_view m_alias = "Shm";
15 static constexpr std::string_view m_description =
16 "The component can be used to manage the Shared Memory Segments and "
17 "Repositories";
18 std::shared_ptr<SharedMemoryApi> m_sharedMemoryApi;
19
20 // Commands
21 enum Commands { Undefined, ShowSegments, ShowRepositories, ShrinkSegment, GrowSegment, ExportRepository };
22
23 // Flags
24 std::optional<std::string> m_segmentName;
25 std::optional<std::string> m_size;
26 std::optional<std::string> m_repositoryName;
27 std::optional<std::string> m_type;
28 std::optional<std::string> m_file;
29 std::optional<std::string> m_uuid;
30
32
34 static void printSegments(const std::vector<SharedMemorySegmentDto> &segments);
35
37 static void printRepositories(const std::vector<SharedMemoryRepositoryDto> &repositories);
38
40 void handleExportRepository();
41
42public:
44 explicit SharedMemoryCliComponent(std::shared_ptr<SharedMemoryApi> sharedMemoryApi);
45
46 void onCommand(const UserDto &userDto, const std::string &input, const std::vector<std::string> &parameters) override;
47
48 void onHelp() override;
49
50 void onShowMenu() override;
51
52 bool onMenu(const std::string &component) override;
53
54 bool onExit() override;
55
56 void printCommandList(std::set<std::string> menuAlias) override;
57
58 std::vector<std::string> allCommandsOf() override;
59};
60
61}// namespace lintel
62#endif// LINTEL_SHAREDMEMORYCLICOMPONENT_H
Definition CommandLineComponent.h:17
Definition CommandParser.h:21
Definition SharedMemoryCliComponent.h:11
bool onMenu(const std::string &component) override
std::vector< std::string > allCommandsOf() override
SharedMemoryCliComponent(std::shared_ptr< SharedMemoryApi > sharedMemoryApi)
void onCommand(const UserDto &userDto, const std::string &input, const std::vector< std::string > &parameters) override
void printCommandList(std::set< std::string > menuAlias) override
Definition UserDto.h:16
Definition BaseFeature.h:6
constexpr std::string_view type_name()
Definition TypeName.h:9