ChimeraTK-DeviceAccess 03.25.00
Loading...
Searching...
No Matches
WrongVersionBackendCompat.cc
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Deutsches Elektronen-Synchrotron DESY, MSK, ChimeraTK Project <chimeratk-support@desy.de>
2// SPDX-License-Identifier: LGPL-3.0-or-later
3
4#include "BackendFactory.h"
5#include "DummyBackend.h"
6
7using namespace ChimeraTK;
8#define WRONG_VERSION "00.18"
9
10// LCOV_EXCL_START these lines cannot be reached because the backend cannot be
11// registered, thus it is never instantiated
12struct WrongVersionBackend : public DummyBackend {
14 static boost::shared_ptr<DeviceBackend> createInstance(
15 std::string instance, std::map<std::string, std::string> parameters) {
16 return returnInstance<WrongVersionBackend>(instance, convertPathRelativeToDmapToAbs(parameters.at("map")));
17 }
18
19 // LCOV_EXCL_STOP The registerern and the version functions have to be called
20
21 struct BackendRegisterer {
26 };
27};
28
29static WrongVersionBackend::BackendRegisterer gWrongVersionBackendRegisterer;
30
31extern "C" {
33 return WRONG_VERSION;
34}
35}
#define WRONG_VERSION
const char * deviceAccessVersionUsedToCompile()
static BackendFactory & getInstance()
Static function to get an instance of factory.
void registerBackendType(const std::string &backendType, boost::shared_ptr< DeviceBackend >(*creatorFunction)(std::string address, std::map< std::string, std::string > parameters), const std::vector< std::string > &sdmParameterNames={}, const std::string &deviceAccessVersion=CHIMERATK_DEVICEACCESS_VERSION)
Register a backend by the name backendType with the given creatorFunction.
The dummy device opens a mapping file instead of a device, and implements all registers defined in th...
DummyBackend(const std::string &mapFileName, const std::string &dataConsistencyKeyDescriptor="")
static std::string convertPathRelativeToDmapToAbs(std::string const &mapfileName)
static boost::shared_ptr< DeviceBackend > createInstance(std::string address, std::map< std::string, std::string > parameters)
static boost::shared_ptr< DeviceBackend > createInstance(std::string instance, std::map< std::string, std::string > parameters)