libcamera  v0.3.1+12-19bbca3c
Supporting cameras in Linux since 2019
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 <memory>
11 #include <string>
12 #include <vector>
13 
15 
16 namespace libcamera {
17 
18 class IPAModule;
19 
20 class IPAProxy : public IPAInterface
21 {
22 public:
23  enum ProxyState {
27  };
28 
29  IPAProxy(IPAModule *ipam);
30  ~IPAProxy();
31 
32  bool isValid() const { return valid_; }
33 
34  std::string configurationFile(const std::string &name,
35  const std::string &fallbackName = std::string()) const;
36 
37 protected:
38  std::string resolvePath(const std::string &file) const;
39 
40  bool valid_;
42 
43 private:
44  IPAModule *ipam_;
45 };
46 
47 } /* namespace libcamera */
The Proxy is active and asynchronous tasks may be queued.
Definition: ipa_proxy.h:26
C++ Interface for IPA implementation.
Definition: ipa_interface.h:30
Image Processing Algorithm interface.
Top-level libcamera namespace.
Definition: backtrace.h:17
IPAProxy(IPAModule *ipam)
Construct an IPAProxy instance.
Definition: ipa_proxy.cpp:53
ProxyState state_
Current state of the IPAProxy.
Definition: ipa_proxy.h:41
bool isValid() const
Check if the IPAProxy instance is valid.
Definition: ipa_proxy.h:32
No new tasks can be submitted to the proxy, however existing events can be completed.
Definition: ipa_proxy.h:25
Wrapper around IPA module shared object.
Definition: ipa_module.h:23
bool valid_
Flag to indicate if the IPAProxy instance is valid.
Definition: ipa_proxy.h:40
The proxy is not active and only synchronous operations are permitted.
Definition: ipa_proxy.h:24
ProxyState
Identifies the available operational states of the proxy.
Definition: ipa_proxy.h:23
IPA Proxy.
Definition: ipa_proxy.h:20
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:99
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:182