libcamera v0.7.0+1-4ceceb68
Supporting cameras in Linux since 2019
Loading...
Searching...
No Matches
ipa_proxy.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: LGPL-2.1-or-later */
2/*
3 * Copyright (C) 2019, Google Inc.
4 *
5 * Image Processing Algorithm proxy
6 */
7
8#pragma once
9
10#include <optional>
11#include <string>
12#include <vector>
13
15
16#include "libcamera/internal/global_configuration.h"
17
18namespace libcamera {
19
20class IPAModule;
21
22class IPAProxy : public IPAInterface
23{
24public:
30
31 IPAProxy(IPAModule *ipam, const GlobalConfiguration &configuration);
32 ~IPAProxy();
33
34 bool isValid() const { return valid_; }
35
36 std::string configurationFile(const std::string &name,
37 const std::string &fallbackName = std::string()) const;
38
39protected:
40 std::string resolvePath(const std::string &file) const;
41
42 bool valid_;
44
45private:
46 IPAModule *ipam_;
47 std::vector<std::string> configPaths_;
48 std::vector<std::string> execPaths_;
49};
50
51} /* namespace libcamera */
Support for global libcamera configuration.
Definition global_configuration.h:22
C++ Interface for IPA implementation.
Definition ipa_interface.h:18
Wrapper around IPA module shared object.
Definition ipa_module.h:24
IPA Proxy.
Definition ipa_proxy.h:23
std::string configurationFile(const std::string &name, const std::string &fallbackName=std::string()) const
Retrieve the absolute path to an IPA configuration file.
Definition ipa_proxy.cpp:170
bool valid_
Flag to indicate if the IPAProxy instance is valid.
Definition ipa_proxy.h:42
std::string resolvePath(const std::string &file) const
Find a valid full path for a proxy worker for a given executable name.
Definition ipa_proxy.cpp:213
ProxyState state_
Current state of the IPAProxy.
Definition ipa_proxy.h:43
ProxyState
Identifies the available operational states of the proxy.
Definition ipa_proxy.h:25
@ ProxyRunning
The Proxy is active and asynchronous tasks may be queued.
Definition ipa_proxy.h:28
@ ProxyStopping
No new tasks can be submitted to the proxy, however existing events can be completed.
Definition ipa_proxy.h:27
@ ProxyStopped
The proxy is not active and only synchronous operations are permitted.
Definition ipa_proxy.h:26
bool isValid() const
Check if the IPAProxy instance is valid.
Definition ipa_proxy.h:34
Image Processing Algorithm interface.
Top-level libcamera namespace.
Definition backtrace.h:17