Документация
ОС Аврора 5.2.1
DTMFInterface
Ниже приведены фрагменты кода или же цельные файлы, которые реализуют класс DTMFInterface.
Данный класс является дополнительным интерфейсом для класса AudioCall.
-
.spec-файл:
// Указываем зависимость для сборки: требуется библиотека callservice для работы с аудио и вызовами BuildRequires: pkgconfig(callservice) -
.CMake-файл:
# Ищем модуль callservice с помощью pkg-config и создаем импортированную цель PkgConfig::CALLSERVICE pkg_check_modules(CALLSERVICE REQUIRED IMPORTED_TARGET callservice) ... # Линкуем найденную библиотеку callservice с нашим целевым проектом в приватном режиме target_link_libraries(${PROJECT_NAME} PRIVATE PkgConfig::CALLSERVICE ) ... -
src/audio/audiocall.h:// Класс-обертка для обработки DTMF, используемый при включенном режиме STANDALONE_DTMF. // Наследуется от QObject и реализует интерфейс DTMFInterface. class StandaloneDtmfHandler : public QObject, public DTMFInterface { Q_OBJECT // Макрос для поддержки сигналов, слотов и метаобъектной системы Qt // Регистрируем интерфейс DTMFInterface в метаобъектной системе Qt Q_INTERFACES(ru::auroraos::call::DTMFInterface) public: // Конструктор принимает указатель на родительский объект AudioCall explicit StandaloneDtmfHandler(AudioCall *parent) : QObject(parent) , m_call(parent) // Сохраняем указатель на экземпляр AudioCall для делегирования вызовов { } public slots: // Реализация метода интерфейса DTMFInterface // Делегирует вызов метода SendDTMF связанному объекту AudioCall void SendDTMF(const QString &codes) override { m_call->SendDTMF(codes); } private: AudioCall *m_call; // Указатель на связанный объект AudioCall };