factory.h File Reference
`#include <log4cplus/config.hxx>`
`#include <log4cplus/appender.h>`
`#include <log4cplus/layout.h>`
`#include <log4cplus/tstring.h>`
`#include <log4cplus/spi/filter.h>`
`#include <log4cplus/spi/objectregistry.h>`
`#include <memory>`
`#include <vector>`
`#include <locale>`
Include dependency graph for factory.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Classes

class | log4cplus::spi::BaseFactory
| This is the base class for all factories. More...
class | log4cplus::spi::AppenderFactory
| This abstract class defines the "Factory" interface to create "Appender" objects. More...
class | log4cplus::spi::LayoutFactory
| This abstract class defines the "Factory" interface to create "Layout" objects. More...
class | log4cplus::spi::FilterFactory
| This abstract class defines the "Factory" interface to create "Appender" objects. More...
class | log4cplus::spi::LocaleFactory
| This abstract class defines the "Factory" interface to create std::locale instances. More...
class | log4cplus::spi::FactoryRegistry< T >
| This template class is used as a "Factory Registry". More...
class | log4cplus::spi::LocalFactoryBase< ProductFactoryBase >
class | log4cplus::spi::FactoryTempl< LocalProduct, ProductFactoryBase >

## Namespaces

namespace | log4cplus
namespace | log4cplus::spi

## Macros

#define | LOG4CPLUS_REG_PRODUCT(reg, productprefix, productname, productns, productfact)
#define | LOG4CPLUS_REG_APPENDER(reg, appendername)
#define | LOG4CPLUS_REG_LAYOUT(reg, layoutname)
#define | LOG4CPLUS_REG_FILTER(reg, filtername)
#define | LOG4CPLUS_REG_LOCALE(reg, name, factory)

## Typedefs

typedef FactoryRegistry< AppenderFactory > | log4cplus::spi::AppenderFactoryRegistry
typedef FactoryRegistry< LayoutFactory > | log4cplus::spi::LayoutFactoryRegistry
typedef FactoryRegistry< FilterFactory > | log4cplus::spi::FilterFactoryRegistry
typedef FactoryRegistry< LocaleFactory > | log4cplus::spi::LocaleFactoryRegistry

## Functions

LOG4CPLUS_EXPORT AppenderFactoryRegistry & | log4cplus::spi::getAppenderFactoryRegistry ()
| Returns the "singleton" `AppenderFactoryRegistry`.
LOG4CPLUS_EXPORT LayoutFactoryRegistry & | log4cplus::spi::getLayoutFactoryRegistry ()
| Returns the "singleton" `LayoutFactoryRegistry`.
LOG4CPLUS_EXPORT FilterFactoryRegistry & | log4cplus::spi::getFilterFactoryRegistry ()
| Returns the "singleton" `FilterFactoryRegistry`.
LOG4CPLUS_EXPORT LocaleFactoryRegistry & | log4cplus::spi::getLocaleFactoryRegistry ()
| Returns the "singleton" `LocaleFactoryRegistry`.

## Macro Definition Documentation

## LOG4CPLUS_REG_APPENDER

#define LOG4CPLUS_REG_APPENDER | ( |  | reg,
|  |  | appendername )

Value:
LOG4CPLUS_REG_PRODUCT (reg, "log4cplus::", appendername, log4cplus::, \
log4cplus::spi::AppenderFactory)
log4cplus::spi::AppenderFactory
This abstract class defines the "Factory" interface to create "Appender" objects.
Definition factory.h:64
LOG4CPLUS_REG_PRODUCT
#define LOG4CPLUS_REG_PRODUCT(reg, productprefix, productname, productns, productfact)
Definition factory.h:249
log4cplus
Definition appender.h:46

Definition at line 256 of file factory.h.

## LOG4CPLUS_REG_FILTER

#define LOG4CPLUS_REG_FILTER | ( |  | reg,
|  |  | filtername )

Value:
LOG4CPLUS_REG_PRODUCT (reg, "log4cplus::spi::", filtername, log4cplus::spi::, \
log4cplus::spi::FilterFactory)
log4cplus::spi::FilterFactory
This abstract class defines the "Factory" interface to create "Appender" objects.
Definition factory.h:104
log4cplus::spi
Definition layout.h:62

Definition at line 264 of file factory.h.

## LOG4CPLUS_REG_LAYOUT

#define LOG4CPLUS_REG_LAYOUT | ( |  | reg,
|  |  | layoutname )

Value:
LOG4CPLUS_REG_PRODUCT (reg, "log4cplus::", layoutname, log4cplus::, \
log4cplus::spi::LayoutFactory)
log4cplus::spi::LayoutFactory
This abstract class defines the "Factory" interface to create "Layout" objects.
Definition factory.h:84

Definition at line 260 of file factory.h.

## LOG4CPLUS_REG_LOCALE

#define LOG4CPLUS_REG_LOCALE | ( |  | reg,
|  |  | name,
|  |  | factory )

Value:
reg.put (std::unique_ptr<log4cplus::spi::LocaleFactory> ( \
new factory (name)))

Definition at line 268 of file factory.h.

## LOG4CPLUS_REG_PRODUCT

#define LOG4CPLUS_REG_PRODUCT | ( |  | reg,
|  |  | productprefix,
|  |  | productname,
|  |  | productns,
|  |  | productfact )

Value:
reg.put ( \
std::unique_ptr<productfact> ( \
new log4cplus::spi::FactoryTempl<productns productname, productfact> ( \
LOG4CPLUS_TEXT(productprefix) \
LOG4CPLUS_TEXT(#productname))))
log4cplus::spi::FactoryTempl
Definition factory.h:234
LOG4CPLUS_TEXT
#define LOG4CPLUS_TEXT(STRING)
Definition clogger.h:72

Definition at line 249 of file factory.h.