PicoScenes API Docs
Loading...
Searching...
No Matches
FrontEndFactory.hxx
Go to the documentation of this file.
1
//
2
// Created by Zhiping Jiang on 12/31/19.
3
//
4
5
#ifndef PICOSCENES_PLATFORM_FRONTENDFACTORY_HXX
6
#define PICOSCENES_PLATFORM_FRONTENDFACTORY_HXX
7
8
#include "
AbstractFrontEnd.hxx
"
9
10
class
FrontEndFactory
{
11
public
:
12
static
std::shared_ptr<AbstractFrontEnd>
getFrontEndInstance
(
const
std::string &referredInterfaceName);
13
14
template<typename FrontEndT, class = typename std::enable_if<std::is_base_of<AbstractFrontEnd, FrontEndT>::value
>::type>
15
static
std::shared_ptr<FrontEndT>
getTypedFrontEndInstance
(
const
std::string &referredInterfaceName) {
16
auto
baseFrontEnd
=
getFrontEndInstance
(referredInterfaceName);
17
auto
typedFrontEnd
= std::dynamic_pointer_cast<FrontEndT>(
baseFrontEnd
);
18
return
typedFrontEnd
;
19
}
20
21
private
:
22
FrontEndFactory
() =
default
;
23
};
24
25
26
#endif
//PICOSCENES_PLATFORM_FRONTENDFACTORY_HXX
AbstractFrontEnd.hxx
FrontEndFactory
Definition
FrontEndFactory.hxx:10
FrontEndFactory::getTypedFrontEndInstance
static std::shared_ptr< FrontEndT > getTypedFrontEndInstance(const std::string &referredInterfaceName)
Definition
FrontEndFactory.hxx:15
FrontEndFactory::getFrontEndInstance
static std::shared_ptr< AbstractFrontEnd > getFrontEndInstance(const std::string &referredInterfaceName)
headers
FrontEndFactory.hxx
Generated by
1.9.8