lintel 0.2.0
Loading...
Searching...
No Matches
CommandHistoryEntry.h
Go to the documentation of this file.
1#ifndef COMMANDHISTORYENTRY_H
2#define COMMANDHISTORYENTRY_H
3
4#include <chrono>
5#include <ostream>
6#include <string>
7
8namespace lintel {
11{
12private:
13 std::string m_command;
14 std::string m_userName;
15 std::chrono::sys_time<std::chrono::microseconds> m_executedTimestamp;
16 std::string m_menu;
17
18public:
23 CommandHistoryEntry(const std::string &command,
24 const std::string &user_name,
25 const std::chrono::sys_time<std::chrono::microseconds> &executed_timestamp,
26 const std::string &menu)
27 : m_command(command), m_userName(user_name), m_executedTimestamp(executed_timestamp), m_menu(menu)
28 {}
29
31 [[nodiscard]] std::string getCommand() const { return m_command; }
33 [[nodiscard]] std::string getUserName() const { return m_userName; }
35 [[nodiscard]] std::chrono::sys_time<std::chrono::microseconds> getExecutedTimestamp() const
36 {
37 return m_executedTimestamp;
38 }
40 [[nodiscard]] std::string getMenu() const { return m_menu; }
41
43 [[nodiscard]] std::string asCsvEntry() const
44 {
45 return StringifyService<std::chrono::sys_time<std::chrono::microseconds>>::serializeToString(m_executedTimestamp)
46 + ";" + m_userName + ";" + m_command + ";" + m_menu;
47 }
48
50 {
51 return lhs.m_command == rhs.m_command && lhs.m_userName == rhs.m_userName
52 && lhs.m_executedTimestamp == rhs.m_executedTimestamp && lhs.m_menu == rhs.m_menu;
53 }
54
55 friend bool operator!=(const CommandHistoryEntry &lhs, const CommandHistoryEntry &rhs) { return !(lhs == rhs); }
56};
57
58}// namespace lintel
59#endif// COMMANDHISTORYENTRY_H
Definition CommandHistoryEntry.h:11
std::string getCommand() const
Definition CommandHistoryEntry.h:31
CommandHistoryEntry(const std::string &command, const std::string &user_name, const std::chrono::sys_time< std::chrono::microseconds > &executed_timestamp, const std::string &menu)
Definition CommandHistoryEntry.h:23
std::string getMenu() const
Definition CommandHistoryEntry.h:40
friend bool operator!=(const CommandHistoryEntry &lhs, const CommandHistoryEntry &rhs)
Definition CommandHistoryEntry.h:55
std::string asCsvEntry() const
Definition CommandHistoryEntry.h:43
friend bool operator==(const CommandHistoryEntry &lhs, const CommandHistoryEntry &rhs)
Definition CommandHistoryEntry.h:49
std::chrono::sys_time< std::chrono::microseconds > getExecutedTimestamp() const
Definition CommandHistoryEntry.h:35
std::string getUserName() const
Definition CommandHistoryEntry.h:33
Definition StringifyService.h:13
Definition BaseFeature.h:6
constexpr std::string_view type_name()
Definition TypeName.h:9