lintel 0.2.0
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Enumerations | Functions
lintel Namespace Reference

Namespaces

namespace  datetime
 
namespace  db
 
namespace  di
 
namespace  HttpClientHelper
 
namespace  json
 
namespace  postgresql
 
namespace  shm
 
namespace  sqlite
 

Classes

class  AbstractCommandLineMenu
 
class  AbstractService
 
class  AbstractServiceInterface
 
class  AdminController
 
class  AdminUserBootstrapPlugin
 
class  Argument
 
class  ArgumentProvider
 
class  AuthArgumentProvider
 
class  AuthCliService
 
class  AuthService
 
class  BaseFeature
 
class  BoostSegmentAllocator
 
class  BootstrapPlugin
 
class  BootstrapSequence
 
class  BootstrapService
 
class  Client
 
class  ClientConfiguration
 
class  ClientIpResolver
 
class  ClientProvider
 
struct  Column
 
class  Command
 
class  CommandHistoryEntry
 
class  CommandLineComponent
 
class  CommandLineFeature
 
class  CommandLineHistoryService
 
class  CommandLineService
 
class  CommandLineUtils
 
class  CommandParser
 
class  Component
 
class  ConfigSerializationStrategy
 
class  ConfigShmSegmentNotFound
 
class  Configuration
 
class  ConfigurationComponentBuilder
 
class  ConfigurationException
 
class  ContentType
 
class  Controller
 
class  Cryption
 
class  DatabaseBootstrapPlugin
 
class  DatabaseConnectionComponent
 
class  DatabaseConnectionConfigurations
 
class  DatabaseConnectionEntry
 
class  DatabasePropertyRepository
 
class  DataStorage
 
class  DirectoryService
 
class  Entry
 
class  EnvironmentConfiguration
 
class  Event
 
class  EventBus
 
class  EventBusComponent
 
struct  EventBusConfig
 
class  EventBusEntry
 
struct  EventBusLimits
 
class  EventBusService
 
class  EventBusView
 
class  ExampleController
 
class  ExecutorService
 
class  Feature
 
class  FeatureInterface
 
class  Features
 
class  FilePropertyRepository
 
class  FileService
 
class  FileServiceFileExists
 
class  FileServiceIsNotFileException
 
class  Group
 
class  GroupDto
 
class  GroupProvider
 
class  GroupRepository
 
class  GroupsDto
 
class  HistoryApi
 
class  HistoryCliComponent
 
class  HistoryComponent
 
class  HistoryController
 
class  HistoryDto
 
class  HistoryDtos
 
class  HistoryEntry
 
class  HistoryRepository
 
class  HistoryService
 
class  HistoryServiceEntry
 
class  HttpBadRequestException
 
class  HttpComponent
 
class  HttpEntry
 
class  HttpFeature
 
class  HttpStatusCodes
 
class  HttpUnauthorizedException
 
class  IAuthService
 
class  IEventBus
 
class  IHistoryService
 
class  IInputService
 
class  IMessageQueueRepository
 
class  InitializeService
 
class  InputService
 
class  ISharedMemorySegmentManager
 
class  ISharedMemoryService
 
struct  IsLockFreeAtomic
 
struct  IsLockFreeAtomic< T, std::enable_if_t< std::is_trivially_copyable_v< T > > >
 
class  ITerminalService
 
class  JsonSerializable
 
class  LoggerComponent
 
class  LoggerConfiguration
 
class  LoggerEntry
 
class  LoggerPathConfiguration
 
class  LoggerService
 
class  LoggerServiceNotInitialized
 
class  LoggerSinkConfiguration
 
class  MemorySize
 
class  Message
 
class  MessageQueue
 
class  MessageQueueBootstrapPlugin
 
class  MessageQueueCliComponent
 
class  MessageQueueComponent
 
class  MessageQueueController
 
class  MessageQueueCore
 
class  MessageQueueDto
 
class  MessageQueueDtos
 
class  MessageQueueEntry
 
class  MessageQueueRepository
 
class  MessageQueues
 
class  MessageQueueService
 
class  MessageQueuesPageDto
 
class  MesssageQueueApi
 
class  NoopHistoryService
 
class  Page
 
struct  PagingParams
 
class  PersistableBean
 
class  PersistableService
 
class  Process
 
class  ProcessApi
 
class  ProcessArgumentService
 
class  ProcessCliComponent
 
class  ProcessComponent
 
class  ProcessController
 
class  ProcessEntry
 
class  ProcessGroup
 
class  ProcessGroupDto
 
class  ProcessGroupsDto
 
class  ProcessInfo
 
class  ProcessInfoDto
 
class  ProcessInfosDto
 
class  ProcessName
 
struct  ProcessResourceData
 
class  ProcessResourceReader
 
class  ProcessService
 
class  PropertiesDto
 
class  Property
 
class  PropertyApi
 
class  PropertyBase
 
struct  PropertyChange
 
class  PropertyCliComponent
 
class  PropertyComponent
 
class  PropertyController
 
class  PropertyDataDao
 
struct  PropertyDataDto
 
class  PropertyDto
 
class  PropertyEntry
 
class  PropertyFactory
 
class  PropertyFeature
 
class  PropertyNoRuntimeChangeSupported
 
class  PropertyNotFoundException
 
class  PropertyRegistration
 
class  PropertyRepository
 
class  PropertyRepositoryComponent
 
class  PropertyRepositoryEntry
 
class  PropertyRepositoryType
 
class  PropertyService
 
class  PropertyValueDto
 
class  PropertyValueStorage
 
class  PropertyValueStorage< T, std::enable_if_t< IsLockFreeAtomic< T >::value > >
 
class  ReadinessRegistry
 
class  RegexUtils
 
class  SchedulerService
 
class  Server
 
class  ServerConfiguration
 
class  ServerProvider
 
class  SharedMemoryApi
 
class  SharedMemoryArrayRepository
 
class  SharedMemoryBootstrapPlugin
 
class  SharedMemoryCliComponent
 
class  SharedMemoryController
 
class  SharedMemoryMapRepository
 
class  SharedMemoryObjectRepository
 
class  SharedMemoryPropertyRepository
 
class  SharedMemoryRepositoriesDto
 
class  SharedMemoryRepository
 
class  SharedMemoryRepositoryDto
 
class  SharedMemorySegment
 
class  SharedMemorySegmentComponent
 
class  SharedMemorySegmentDto
 
class  SharedMemorySegmentEntry
 
class  SharedMemorySegmentHandle
 
class  SharedMemorySegmentInfo
 
class  SharedMemorySegmentManager
 
class  SharedMemorySegmentsDto
 
class  SharedMemoryService
 
class  SharedMemoryVectorRepository
 
class  ShmSegmentAccessor
 
class  ShmSegmentNotFound
 
class  SignalService
 
class  SingleInstanceBootstrapPlugin
 
class  StartupBuilder
 
class  StopWatchService
 
class  StringifyService
 
class  StringUtils
 
class  TableBuilder
 
class  TerminalService
 
class  TlsReloadRegistry
 
class  User
 
class  UserApi
 
class  UserController
 
class  UserDto
 
class  UserGroupDto
 
struct  UserLogin
 
class  UserLoginDto
 
class  UserManagementCliComponent
 
class  UserNameDto
 
class  UserNamesDto
 
class  UserPasswordChangeDto
 
class  UserRepository
 
class  UsersDto
 
class  UserSessionDto
 
class  UserSessionsDto
 
class  UsersPageDto
 
struct  UserToken
 
class  UserTokenDto
 
struct  UserTokenLogin
 
class  UUID
 
class  VirtualGroupBootstrapPlugin
 
class  XMLConfigSerializationStrategy
 

Typedefs

using ProcessId = std::int64_t
 
using KeyEvent = std::pair< KeyType, char >
 
using SymbolEvent = std::pair< Symbol, std::string >
 

Enumerations

enum  ShutdownPriority { DEFAULT = 0 , PROCESS_SERVICE = 1 }
 
enum class  LogLevel : std::uint8_t {
  trace = 0 , debug = 1 , info = 2 , warn = 3 ,
  error = 4 , critical = 5 , off = 6
}
 
enum  SharedMemoryType { Map , Vector , Array , Object }
 
enum class  KeyType {
  Ascii , Up , Down , Left ,
  Right , Backspace , Canc , Home ,
  End , Ret , Eof , CtrlC ,
  CtrlR , Ignored
}
 
enum class  Symbol {
  Nothing , Command , Up , Down ,
  Tab , Eof , CtrlC , CtrlR
}
 

Functions

ProcessId currentProcessId () noexcept
 
bool localTime (std::time_t time, std::tm &out) noexcept
 
std::string homeDirectory ()
 
constexpr char pathListSeparator () noexcept
 
template<typename T >
constexpr std::string_view type_name ()
 

Detailed Description

LoggerService class for easier logging in process itself

This public header parses only <format>. spdlog is hidden behind a forward declaration and stays in LoggerService.cpp. The variadic log() applies std::format's template-elimination idea (std::format -> std::vformat): the template only boxes its arguments with std::make_format_args and forwards them to the non-template logImpl(), so formatting and spdlog are compiled once instead of at every call site.

Typedef Documentation

◆ KeyEvent

Pair of key type and ASCII character

◆ ProcessId

Portable process id type.

POSIX uses pid_t, Windows uses DWORD. A fixed 64-bit type keeps the value lossless on both sides and lets the DTOs (JSON "process_id") stay identical across platforms without dragging <Windows.h> into public headers.

◆ SymbolEvent

using lintel::SymbolEvent = typedef std::pair<Symbol, std::string>

Pair of symbol and associated string data

Enumeration Type Documentation

◆ KeyType

Type of key event from terminal input

Enumerator
Ascii 
Up 
Down 
Left 
Right 
Backspace 
Canc 
Home 
End 
Ret 
Eof 
CtrlC 
CtrlR 
Ignored 

◆ LogLevel

enum class lintel::LogLevel : std::uint8_t
strong

Log levels used by LoggerService and the LOG_* macros. The values intentionally match spdlog::level::level_enum.

Enumerator
trace 
debug 
info 
warn 
error 
critical 
off 

◆ SharedMemoryType

Types of shared memory data structures.

Enumerator
Map 
Vector 
Array 
Object 

◆ ShutdownPriority

Defines shutdown priority levels for process services.

Enumerator
DEFAULT 
PROCESS_SERVICE 

◆ Symbol

High-level symbol interpreted from key events

Enumerator
Nothing 
Command 
Up 
Down 
Tab 
Eof 
CtrlC 
CtrlR 

Function Documentation

◆ currentProcessId()

ProcessId lintel::currentProcessId ( )
inlinenoexcept
Returns
the id of the calling process

◆ homeDirectory()

std::string lintel::homeDirectory ( )
inline
Returns
the user's home directory, or an empty string when it cannot be resolved

◆ localTime()

bool lintel::localTime ( std::time_t  time,
std::tm &  out 
)
inlinenoexcept

Thread-safe local-time conversion.

Wraps localtime_r() (POSIX) resp. localtime_s() (MSVC, argument order reversed) so callers do not have to branch.

Parameters
timethe time to convert
outreceives the broken-down local time
Returns
true on success

◆ pathListSeparator()

constexpr char lintel::pathListSeparator ( )
inlineconstexprnoexcept
Returns
the character that separates entries in the PATH environment variable

◆ type_name()

template<typename T >
constexpr std::string_view lintel::type_name ( )
constexpr

Return a human-readable name for the given type at compile time.

Template Parameters
Tthe type to name
Returns
the type name as a string view