UTILLib 2.0
Common C++ library with utilities.
Loading...
Searching...
No Matches
utilfactory.h
Go to the documentation of this file.
1/*
2 * Copyright 2022 Ingemar Hedvall
3 * SPDX-License-Identifier: MIT
4 */
5
9#pragma once
10
11#include <memory>
12#include <string>
13#include <vector>
14
15#include "util/ilisten.h"
16#include "util/ilistenclient.h"
17#include "util/ilogger.h"
18#include "util/isyslogserver.h"
20
21namespace util {
22
27 public:
34 static std::unique_ptr<syslog::ISyslogServer> CreateSyslogServer(
36
48 static std::unique_ptr<log::ILogger> CreateLogger(
49 log::LogType type, const std::vector<std::string> &arg_list);
50
71 [[deprecated("Use util::UtilFactory::CreateListen with enumeration instead")]]
72 static std::unique_ptr<log::IListen> CreateListen(
73 const std::string &type, const std::string &share_name);
74
105 static std::unique_ptr<log::IListen> CreateListen(
106 log::TypeOfListen type, const std::string &share_name);
114 static std::unique_ptr<log::IListenClient> CreateListenClient(
115 const std::string &host, uint16_t port);
116
123 static std::unique_ptr<supervise::ISuperviseMaster> CreateSuperviseMaster(
125};
126
127} // namespace util
Implements creators for most interface classes.
Definition utilfactory.h:26
static std::unique_ptr< log::IListen > CreateListen(const std::string &type, const std::string &share_name)
Creates a listen object.
static std::unique_ptr< supervise::ISuperviseMaster > CreateSuperviseMaster(supervise::TypeOfSuperviseMaster type)
Create a supervise master object.
static std::unique_ptr< log::IListen > CreateListen(log::TypeOfListen type, const std::string &share_name)
Creates a listen object.
static std::unique_ptr< log::ILogger > CreateLogger(log::LogType type, const std::vector< std::string > &arg_list)
Creates a pre-defined log source.
static std::unique_ptr< syslog::ISyslogServer > CreateSyslogServer(syslog::SyslogServerType type)
Creates different types of syslog servers.
static std::unique_ptr< log::IListenClient > CreateListenClient(const std::string &host, uint16_t port)
Creates a listen client.
Defines an interface against the listen functionality.
Defines a client interface.
Defines an interface against a generic logger.
Interface against a supervise master.
TypeOfSuperviseMaster
Type of master software.
Definition isupervisemaster.h:32
Defines an interface against a syslog server.
TypeOfListen
Defines the type of listen objects.
Definition ilisten.h:34
LogType
Definition ilogger.h:21
SyslogServerType
Defines the type of syslog server.
Definition isyslogserver.h:31
Main namespace for the util library.
Definition csvwriter.h:16