# QairtSignal Note Some methods in this module are not yet implemented in the current release and will raise an exception if called. See the C API for full functionality. **Include:** `#include "QairtCppApi/QairtSignal.hpp"` C++ wrapper for the QAIRT Signal and Signal Configuration APIs. - namespace qairt - Typedefs - using SignalCustomConfig = QairtSignal\_CustomConfigHandle\_t - Opaque handle type for backend-specific signal custom configuration. Refer to the backend documentation for valid values and usage. This is an alias for the underlying C handle type. Copy to clipboard - class Signal : public [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtBackend.html#_CPPv45qairt)::ApiType<[Signal](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtSignal.html#_CPPv4N5qairt6SignalE), [QairtSignal\_V1\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtSignal.html#_CPPv416QairtSignal_V1_t)> - *#include <QairtSignal.hpp>* Wrapper for a QAIRT [Signal](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtSignal.html#classqairt_1_1Signal) object. Created via @ref Backend::createSignal(). Copy to clipboard Public Functions - Signal() noexcept = default - - Signal(const [Signal](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtSignal.html#_CPPv4N5qairt6Signal6SignalERK6Signal)&) = delete - - Signal([Signal](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtSignal.html#_CPPv4N5qairt6Signal6SignalERR6Signal)&&) noexcept = default - - [Signal](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtSignal.html#_CPPv4N5qairt6SignalE) &operator=(const [Signal](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtSignal.html#_CPPv4N5qairt6SignalE)&) = delete - - [Signal](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtSignal.html#_CPPv4N5qairt6SignalE) &operator=([Signal](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtSignal.html#_CPPv4N5qairt6SignalE)&&) noexcept = default - - inline void setConfig(const [SignalConfiguration](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtSignal.html#_CPPv4N5qairt19SignalConfigurationE) &config) - Reconfigure this signal with a new configuration. - Parameters - **config** – The new signal configuration. - Throws - [Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – if the signal is in-use, the handle is invalid, or the configuration is invalid. - inline void trigger() - Trigger the signal action on the associated in-progress API call. - Throws - [Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – if the signal is idle, the handle is invalid, or the signal type is incompatible with the associated API call. Private Functions - inline Signal(const std::shared\_ptr<ApiTable> &apiTable, [QairtBackend\_Handle\_t](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtBackend.html#_CPPv421QairtBackend_Handle_t) backendHandle, QairtSignal\_ConfigHandle\_t configHandle) - Private Members - friend Api - - friend Backend - Friends - *friend class* ::qairt::ApiType - class SignalConfiguration : public [qairt](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtBackend.html#_CPPv45qairt)::ApiType<[SignalConfiguration](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtSignal.html#_CPPv4N5qairt19SignalConfigurationE), QairtSignal\_ConfigV1\_t> - *#include <QairtSignal.hpp>* Configuration object for a signal. Created via @ref Api::make(). Copy to clipboard Public Functions - SignalConfiguration() noexcept = default - - SignalConfiguration(const [SignalConfiguration](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtSignal.html#_CPPv4N5qairt19SignalConfiguration19SignalConfigurationERK19SignalConfiguration)&) = delete - - SignalConfiguration([SignalConfiguration](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtSignal.html#_CPPv4N5qairt19SignalConfiguration19SignalConfigurationERR19SignalConfiguration)&&) noexcept = default - - [SignalConfiguration](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtSignal.html#_CPPv4N5qairt19SignalConfigurationE) &operator=(const [SignalConfiguration](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtSignal.html#_CPPv4N5qairt19SignalConfigurationE)&) = delete - - [SignalConfiguration](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtSignal.html#_CPPv4N5qairt19SignalConfigurationE) &operator=([SignalConfiguration](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtSignal.html#_CPPv4N5qairt19SignalConfigurationE)&&) noexcept = default - - inline void setTimeoutDurationUs(uint64\_t timeoutDurationUs) - Set the timeout duration for this signal configuration. Configures the signal as a timeout signal. Once set, the signal will interrupt the associated API call after the specified duration. Tolerance for the actual timeout is platform-dependent and cannot be guaranteed. Setting a timeout is mutually exclusive with abort behavior. Call @ref resetTimeoutDurationUs() to restore abort behavior. Copy to clipboard - Parameters - **timeoutDurationUs** – Timeout in microseconds. Must be non-zero. - Throws - [Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle or invalid argument. - inline uint64\_t getTimeoutDurationUs() const - Get the configured timeout duration. - Throws - [Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle. - Returns - Timeout in microseconds, or 0 if no timeout has been set (signal is configured for abort behavior). - inline void resetTimeoutDurationUs() - Reset the timeout duration to zero, restoring implicit abort behavior. - Throws - [Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle. - inline void setCustomConfig([SignalCustomConfig](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtSignal.html#_CPPv4N5qairt18SignalCustomConfigE) customConfig) - Set backend-specific custom configuration for this signal. Refer to the backend documentation for valid handle values and semantics. Copy to clipboard - Parameters - **customConfig** – Handle to the backend-specific custom config. - Throws - [Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle. - inline [SignalCustomConfig](https://docs.qualcomm.com/doc/80-63442-10/topic/cpp-api_QairtSignal.html#_CPPv4N5qairt18SignalCustomConfigE) getCustomConfig() const - Get the backend-specific custom configuration. - Throws - [Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle. - Returns - Handle to the custom config, or nullptr if none was set. - inline void resetCustomConfig() - Clear any previously set custom configuration. - Throws - [Exception](https://docs.qualcomm.com/doc/80-63442-10/topic/QairtApi.html#_CPPv4N5qairt9ExceptionE) – on invalid handle. Private Functions - inline explicit SignalConfiguration(const std::shared\_ptr<ApiTable> &apiTable) - Private Members - friend Api - Friends - *friend class* ::qairt::ApiType Last Published: Aug 06, 2026 [Previous Topic QairtLog](https://docs.qualcomm.com/bundle/publicresource/80-63442-10/topics/cpp-api_QairtLog.md) [Next Topic QairtOpConfig](https://docs.qualcomm.com/bundle/publicresource/80-63442-10/topics/cpp-api_QairtOpConfig.md)