diff options
author | orivej <orivej@yandex-team.ru> | 2022-02-10 16:45:01 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:45:01 +0300 |
commit | 2d37894b1b037cf24231090eda8589bbb44fb6fc (patch) | |
tree | be835aa92c6248212e705f25388ebafcf84bc7a1 /contrib/libs/poco/Foundation/include/Poco/LoggingFactory.h | |
parent | 718c552901d703c502ccbefdfc3c9028d608b947 (diff) | |
download | ydb-2d37894b1b037cf24231090eda8589bbb44fb6fc.tar.gz |
Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/libs/poco/Foundation/include/Poco/LoggingFactory.h')
-rw-r--r-- | contrib/libs/poco/Foundation/include/Poco/LoggingFactory.h | 184 |
1 files changed, 92 insertions, 92 deletions
diff --git a/contrib/libs/poco/Foundation/include/Poco/LoggingFactory.h b/contrib/libs/poco/Foundation/include/Poco/LoggingFactory.h index 431f63183a..c851c3f907 100644 --- a/contrib/libs/poco/Foundation/include/Poco/LoggingFactory.h +++ b/contrib/libs/poco/Foundation/include/Poco/LoggingFactory.h @@ -1,92 +1,92 @@ -// -// LoggingFactory.h -// -// Library: Foundation -// Package: Logging -// Module: LoggingFactory -// -// Definition of the LoggingFactory class. -// -// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. -// and Contributors. -// -// SPDX-License-Identifier: BSL-1.0 -// - - -#ifndef Foundation_LoggingFactory_INCLUDED -#define Foundation_LoggingFactory_INCLUDED - - -#include "Poco/Foundation.h" -#include "Poco/DynamicFactory.h" -#include "Poco/Channel.h" -#include "Poco/Formatter.h" - - -namespace Poco { - - -class Foundation_API LoggingFactory - /// An extensible factory for channels and formatters. - /// - /// The following channel classes are pre-registered: - /// - AsyncChannel - /// - ConsoleChannel - /// - EventLogChannel (Windows platforms only) - /// - FileChannel - /// - FormattingChannel - /// - NullChannel - /// - SplitterChannel - /// - SyslogChannel (Unix platforms only) - /// - /// The following formatter classes are pre-registered: - /// - PatternFormatter -{ -public: - typedef AbstractInstantiator<Channel> ChannelInstantiator; - typedef AbstractInstantiator<Formatter> FormatterFactory; - - LoggingFactory(); - /// Creates the LoggingFactory. - /// - /// Automatically registers class factories for the - /// built-in channel and formatter classes. - - ~LoggingFactory(); - /// Destroys the LoggingFactory. - - void registerChannelClass(const std::string& className, ChannelInstantiator* pFactory); - /// Registers a channel class with the LoggingFactory. - - void registerFormatterClass(const std::string& className, FormatterFactory* pFactory); - /// Registers a formatter class with the LoggingFactory. - - Channel* createChannel(const std::string& className) const; - /// Creates a new Channel instance from specified class. - /// - /// Throws a NotFoundException if the specified channel class - /// has not been registered. - - Formatter* createFormatter(const std::string& className) const; - /// Creates a new Formatter instance from specified class. - /// - /// Throws a NotFoundException if the specified formatter class - /// has not been registered. - - static LoggingFactory& defaultFactory(); - /// Returns a reference to the default - /// LoggingFactory. - -private: - void registerBuiltins(); - - DynamicFactory<Channel> _channelFactory; - DynamicFactory<Formatter> _formatterFactory; -}; - - -} // namespace Poco - - -#endif // Foundation_LoggingFactory_INCLUDED +// +// LoggingFactory.h +// +// Library: Foundation +// Package: Logging +// Module: LoggingFactory +// +// Definition of the LoggingFactory class. +// +// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH. +// and Contributors. +// +// SPDX-License-Identifier: BSL-1.0 +// + + +#ifndef Foundation_LoggingFactory_INCLUDED +#define Foundation_LoggingFactory_INCLUDED + + +#include "Poco/Foundation.h" +#include "Poco/DynamicFactory.h" +#include "Poco/Channel.h" +#include "Poco/Formatter.h" + + +namespace Poco { + + +class Foundation_API LoggingFactory + /// An extensible factory for channels and formatters. + /// + /// The following channel classes are pre-registered: + /// - AsyncChannel + /// - ConsoleChannel + /// - EventLogChannel (Windows platforms only) + /// - FileChannel + /// - FormattingChannel + /// - NullChannel + /// - SplitterChannel + /// - SyslogChannel (Unix platforms only) + /// + /// The following formatter classes are pre-registered: + /// - PatternFormatter +{ +public: + typedef AbstractInstantiator<Channel> ChannelInstantiator; + typedef AbstractInstantiator<Formatter> FormatterFactory; + + LoggingFactory(); + /// Creates the LoggingFactory. + /// + /// Automatically registers class factories for the + /// built-in channel and formatter classes. + + ~LoggingFactory(); + /// Destroys the LoggingFactory. + + void registerChannelClass(const std::string& className, ChannelInstantiator* pFactory); + /// Registers a channel class with the LoggingFactory. + + void registerFormatterClass(const std::string& className, FormatterFactory* pFactory); + /// Registers a formatter class with the LoggingFactory. + + Channel* createChannel(const std::string& className) const; + /// Creates a new Channel instance from specified class. + /// + /// Throws a NotFoundException if the specified channel class + /// has not been registered. + + Formatter* createFormatter(const std::string& className) const; + /// Creates a new Formatter instance from specified class. + /// + /// Throws a NotFoundException if the specified formatter class + /// has not been registered. + + static LoggingFactory& defaultFactory(); + /// Returns a reference to the default + /// LoggingFactory. + +private: + void registerBuiltins(); + + DynamicFactory<Channel> _channelFactory; + DynamicFactory<Formatter> _formatterFactory; +}; + + +} // namespace Poco + + +#endif // Foundation_LoggingFactory_INCLUDED |