Sound Open Firmware
Loading...
Searching...
No Matches
system_agent_interface.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause
2 *
3 * Copyright(c) 2022 Intel Corporation. All rights reserved.
4 */
7#ifndef _ADSP_SYSTEM_AGENT_INTERFACE_H_
8#define _ADSP_SYSTEM_AGENT_INTERFACE_H_
9
10#include "system_service.h"
11#include "system_error.h"
12
13#include <stdint.h>
14#include <stddef.h>
15
16namespace intel_adsp
17{
18 struct ModulePlaceholder;
19 class ProcessingModuleFactoryInterface;
20 class ProcessingModuleInterface;
21 class DetectorModuleInterface;
22 class ModuleInitialSettings;
23 struct ProcessingModulePrerequisites;
24 struct IoPinsInfo;
25 class ModuleHandle;
26 struct LogHandle;
27
28namespace internal
29{
30 class Endpoint;
31} /* namespace internal */
32
43 {
44 public:
70
80 ModuleHandle & module_handle,
84 LogHandle * &log_handle
85 ) = 0;
86
92 virtual int CheckIn(ProcessingModuleFactoryInterface & module_factory,
94 ModulePlaceholder * module_placeholder,
98 size_t,
99 uint32_t,
100 const void*,
101 void*,
102 void**) = 0;
103
107 virtual SystemService const &GetSystemService(void) = 0;
108
112 virtual LogHandle const &GetLogHandle(void) = 0;
113 };
114
116 {
117 public:
118
128 ModuleHandle & module_handle,
132 LogHandle * &log_handle
134 ) = 0;
135 };
136
138 {
139 public:
140
142 virtual void *GetBssBase(void) = 0;
143 };
144
145} /* namespace intel_adsp */
146
147#endif /* _ADSP_SYSTEM_AGENT_H_ */
Definition processing_module_interface.h:381
The ProcessingModuleFactoryInterface class defines requirements for creating a processing module cont...
Definition processing_module_factory_interface.h:74
The ProcessingModuleInterface class defines the interface that user-defined module shall comply with ...
Definition processing_module_interface.h:165
Definition system_agent_interface.h:116
virtual void CheckInDetector(DetectorModuleInterface &processing_module, ModuleHandle &module_handle, LogHandle *&log_handle)=0
Allows a ProcessingModuleInterface instance to be registered in the ADSP System as detector module.
Definition system_agent_interface.h:138
virtual void * GetBssBase(void)=0
Gets the BSS base for the current module instance.
The SystemAgentInterface is a mediator to allow loadable module to interact with the ADSP System.
Definition system_agent_interface.h:43
virtual int CheckIn(ProcessingModuleFactoryInterface &module_factory, ModulePlaceholder *module_placeholder, size_t, uint32_t, const void *, void *, void **)=0
Allows a ProcessingModuleFactoryInterface instance to be registered in the ADSP System.
virtual void CheckIn(ProcessingModuleInterface &processing_module, ModuleHandle &module_handle, LogHandle *&log_handle)=0
Allows a ProcessingModuleInterface instance to be registered in the ADSP System.
virtual SystemService const & GetSystemService(void)=0
Gets the SystemService instance which contains all the service functions.
virtual LogHandle const & GetLogHandle(void)=0
Gets the LogHandle required to send some log message.
uint32_t value
Control integer value (gain level, mute toggle, enum index).
Definition header.h:1
Definition fixed_array.h:13
Scoped enumeration of common error code values which can be reported to ADSP System.
Definition system_error.h:18
static Enum const MaxValue
Indicates the maximal value in the enumeration list.
Definition system_error.h:33
int Type
type of the error code value
Definition system_error.h:20
Scoped enumeration of error code value which can be reported by a SystemAgentInterface object.
Definition system_agent_interface.h:50
static Enum const MaxValue
Indicates the maximal value of the enumeration.
Definition system_agent_interface.h:61
static Enum const MinValue
Indicates the minimal value of the enumeration.
Definition system_agent_interface.h:59
ErrorCode(Type value)
Initializes a new instance of ErrorCode given a value.
Definition system_agent_interface.h:66
Enum
list of named error codes specific to the SystemAgentInterface
Definition system_agent_interface.h:52
@ MODULE_CREATION_FAILURE
Definition system_agent_interface.h:56
Definition base.h:103