LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
InitializableObjectFactory.h
Go to the documentation of this file.
1// Copyright 2002-2013 CEA LIST
2// SPDX-FileCopyrightText: 2022 CEA LIST <gael.de-chalendar@cea.fr>
3//
4// SPDX-License-Identifier: MIT
5
6/***************************************************************************
7 * Copyright (C) 2004-2012 by CEA LIST *
8 * *
9 ***************************************************************************/
10
11#ifndef LIMA_COMMON_ABSTRACTFACTORYPATTERN_INITIALIZABLEOBJECTFACTORY_H
12#define LIMA_COMMON_ABSTRACTFACTORYPATTERN_INITIALIZABLEOBJECTFACTORY_H
13
15#include "RegistrableFactory.h"
16
17namespace Lima
18{
19
25template<typename Object>
26class InitializableObjectFactory : public RegistrableFactory<InitializableObjectFactory<Object> >
27{
28public:
29
30 InitializableObjectFactory(const std::string& id) :
32 {};
33
34 virtual std::shared_ptr<Object> create(
36 typename Object::Manager* manager) const = 0;
37
39};
40
41} // Lima
42
43#endif
Defines Factory for an Initializable Object.
virtual std::shared_ptr< Object > create(Common::XMLConfigurationFiles::GroupConfigurationStructure &unitConfiguration, typename Object::Manager *manager) const =0
Defines a Factory that automatically register to a MainFactory singleton.
originally detectGroupConfigurationStructure.h in detectlibraries
NAUTITIA.