LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
ProcessingClientFactory.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#ifndef LIMA_ABSTRACTPROCESSINGCLIENTFACTORY_H
11#define LIMA_ABSTRACTPROCESSINGCLIENTFACTORY_H
12
15#include <string>
16#include <deque>
20
21namespace Lima
22{
23
30{
31
32public:
33
41 const std::string& id,
43 std::deque<std::string> langs = std::deque<std::string>(),
44 std::deque<std::string> pipelines = std::deque<std::string>()) = 0;
45
56 virtual std::shared_ptr< AbstractProcessingClient > createClient(const std::string& id) const = 0;
57
62 std::deque<std::string> getRegisteredFactories() const;
63
65
67
68private:
69
70
71};
72
73class ProcessingClientFactoryFactory: public Singleton<ProcessingClientFactoryFactory>
74{
76
77public:
79 std::shared_ptr< ProcessingClientFactory > createProcessingClientFactory(const std::string& id) const ;
80private:
82};
83
84class AbstractProcessingClientFactoryFactory:public RegistrableFactory<AbstractProcessingClientFactoryFactory>
85{
86public:
88 virtual std::shared_ptr< ProcessingClientFactory > createProcessingClientFactory() const = 0;
89protected:
92};
93
94
95} // Lima
96
97#endif
virtual std::shared_ptr< ProcessingClientFactory > createProcessingClientFactory() const =0
Parser class for the lima's xml configuration files.
std::shared_ptr< ProcessingClientFactory > createProcessingClientFactory(const std::string &id) const
LinguisticProcessingClientFactory is a singleton.
virtual std::shared_ptr< AbstractProcessingClient > createClient(const std::string &id) const =0
create an Client using the appropriate registered factory.
virtual void configureClientFactory(const std::string &id, Common::XMLConfigurationFiles::XMLConfigurationFileParser &configuration, std::deque< std::string > langs=std::deque< std::string >(), std::deque< std::string > pipelines=std::deque< std::string >())=0
configure the corresponding clientFactory so that it can create clients.
std::deque< std::string > getRegisteredFactories() const
show registered clientId
Defines a Factory that automatically register to a MainFactory singleton.
Defines access method for the singleton pattern.
Definition Singleton.h:22
NAUTITIA.