Thermal Camera SDK 10.1.1
SDK for Optris Thermal Cameras
Loading...
Searching...
No Matches
IRImagerFactory.h
Go to the documentation of this file.
1// Copyright (c) 2008-2025 Optris GmbH & Co. KG
2
10
11#pragma once
12
13#include <memory>
14#include <string>
15#include <unordered_map>
16
17#include "otcsdk/Api.h"
18#include "otcsdk/Exceptions.h"
20
21
22namespace optris
23{
24
31class IRImagerFactory
32{
33public:
41 OTC_SDK_API static IRImagerFactory& getInstance();
42
55 OTC_SDK_API std::shared_ptr<IRImager> create(const std::string& name) noexcept(false);
56
57
66 OTC_SDK_API void registerCreator(const std::string& name, std::shared_ptr<IRImagerCreator> creator);
67
68
69private:
71 IRImagerFactory() noexcept;
72
73
75 std::unordered_map<std::string, std::shared_ptr<IRImagerCreator>> _creators;
76};
77
78} // namespace optris
Contains defines controlling the Windows DLL export and import of symbols.
#define OTC_SDK_API
Only needed when working with Windows DLLs.
Definition Api.h:65
Contains the exceptions raised by the SDK.
Contains the interface definition for classes instantiating IRImager implementations.
Defines the interface for classes that instantiate IRImager implementations.
Definition IRImagerCreator.h:23
static OTC_SDK_API IRImagerFactory & getInstance()
Returns an instance of the IRImagerFactory.
OTC_SDK_API void registerCreator(const std::string &name, std::shared_ptr< IRImagerCreator > creator)
Registers an creator for an IRImager implementation with the given name.
OTC_SDK_API std::shared_ptr< IRImager > create(const std::string &name) noexcept(false)
Creates an instance of an IRImager implementation.
Main SDK namespace.
Definition DeviceInfo.h:24