Thermal Camera SDK 10.0.1
SDK for Optris Thermal Cameras
Loading...
Searching...
No Matches
IRImagerFactory.h
Go to the documentation of this file.
1// Copyright (c) 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() noexcept;
42
53 OTC_SDK_API std::shared_ptr<IRImager> create(const std::string& name) noexcept(false);
54
55
64 OTC_SDK_API void registerCreator(const std::string& name, std::shared_ptr<IRImagerCreator> creator);
65
66
67private:
69 IRImagerFactory() noexcept;
70
71
73 std::unordered_map<std::string, std::shared_ptr<IRImagerCreator>> _creators;
74};
75
76} // 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
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.
static OTC_SDK_API IRImagerFactory & getInstance() noexcept
Returns an instance of the IRImagerFactory.
OTC_SDK_API std::shared_ptr< IRImager > create(const std::string &name) noexcept(false)
Creates an instance of an IRImager implementation.
Common interface for all classes representing Optris thermal cameras.
Definition IRImager.h:31
Main SDK namespace.
Definition DeviceInfo.h:23