Класс CallManager
(ru::auroraos::call::CallManager)
Представляет учётную запись VoIP. Подробнее…
Подключение: | #include <callmanager.h> |
Свойства
Публичные функции
CallManager(const QString &id, QObject *parent = nullptr) | |
CallManager(const QString &id, const QString &iconPath, QObject *parent = nullptr) | |
virtual | ~CallManager() |
QStringList | calls() const |
QString | error() const |
Call * | getCall(const QString &id) const |
QString | id() const |
Call * | newCall(const QString &id, const QVariantMap ¶meters) |
bool | removeCall(const QString &id) |
void | setCallFactory(CallFactoryInterface *factory) |
bool | valid() const |
Сигналы
void | callAdded(const QString &id) |
void | callRemoved(const QString &id) |
void | callsChanged(const QStringList &calls) |
void | errorChanged(const QString &error) |
void | validChanged(bool) |
Подробное описание
Представляет учётную запись VoIP.
Это точка входа для работы с Call API. Каждый экземпляр этого класса представляет активную учётную запись для системы VoIP-связи, однако это не является строгим правилом, и один экземпляр может обслуживать несколько учётных записей. Приложение может иметь один или несколько экземпляров CallManager. Необходимо создать экземпляр, когда сетевая учётная запись находится в состоянии онлайн и готова принимать или совершать звонки. Уничтожение экземпляра приводит к тому, что все его текущие голосовые звонки считаются уничтоженными.
Если регистрация менеджера вызовов прошла успешно, свойство CallManager::valid
становится true
, в противном случае оно остается false
и изменяется
CallManager::error.
Если CallManager::valid, то менеджер вызовов готов сообщать о новых вызовах через CallManager::newCall. Приложение может создать собственную фабрику вызовов с помощью CallManager::setCallFactory для создания собственных производных Call.
Приложению должно быть предоставлено разрешение Call
, чтобы успешно зарегистрировать свой
CallManager.
См. также CallManager::newCall и CallFactoryInterface.
Описание свойств
calls : const QStringList
Это свойство содержит список идентификаторов существующих вызовов.
Возвращает список идентификаторов Call.
Функции доступа:
QStringList | calls() const |
Сигнал уведомления:
void | callsChanged(const QStringList &calls) |
См. также Call.
error : const QString
В этом свойстве хранится последняя ошибка регистрации.
Возвращает строку, описывающую ошибку, возникшую при регистрации CallManager.
Функции доступа:
QString | error() const |
Сигнал уведомления:
void | errorChanged(const QString &error) |
id : const QString
Это свойство содержит идентификатор CallManager.
Функции доступа:
QString | id() const |
valid : const bool
Это свойство содержит статус регистрации CallManager D-Bus.
Операционная система будет игнорировать все, что происходит с CallManager, если
CallManager::valid не true
.
Возвращает true
, если CallManager принят демоном API вызова, и false
в противном случае.
Функции доступа:
bool | valid() const |
Сигнал уведомления:
void | validChanged(bool) |
Описание функций-членов
CallManager::CallManager(const QString &id, QObject *parent = nullptr)
Создаёт экземпляр CallManager
.
Параметр id содержит уникальный идентификатор локальной учётной записи VoIP и должен быть буквенно-цифровым.
CallManager::CallManager(const QString &id, const QString &iconPath, QObject *parent = nullptr)
Создаёт экземпляр CallManager
.
Параметр id содержит уникальный идентификатор локальной учетной записи VoIP и должен быть буквенно-цифровым.
- iconPath — путь к файлу иконки любого формата, который может загрузить
QImage
. Это должна быть стилизованная иконка, отображаемая на панели кнопок телефона.
[virtual] CallManager::~CallManager()
Уничтожает CallManager.
[signal] void CallManager::callAdded(const QString &id)
Испускается, когда создается новый Call id.
[signal] void CallManager::callRemoved(const QString &id)
Испускается, когда вызов с id удаляется.
Call *CallManager::getCall(const QString &id) const
Возвращает существующий экземпляр Call с заданным id.
Возвращает указатель на существующий Call или nullptr
, если Call с таким id не найден.
См. также Call.
Call *CallManager::newCall(const QString &id, const QVariantMap ¶meters)
Создает новый экземпляр Call с заданными параметрами, используя CallFactoryInterface.
CallManager::callAdded и CallManager::callsChanged испускаются при успешной регистрации нового экземпляра Call на D-Bus.
Возвращает указатель на новый Call или nullptr
, если такой id или D-Bus объект уже
зарегистрирован.
- id — идентификатор вызова, должен быть буквенно-цифровым.
- parameters — параметры вызова, принимаются следующие:
uri
(string) — уникальный URI для идентификации этого вызова. Приложение должно иметь возможность обрабатывать такие URI и звонить тому же человеку, используя ту же учётную запись, что и при первоначальном звонке. Необязательный параметр. Длина не должна превышать 255 символов.initiatedAt
(uint64) — количество секунд с начала эпохи (timestamp UTC) для события начала вызова. Необязательный параметр.acceptedAt
(uint64) — количество секунд с начала эпохи (timestamp UTC) для события принятия вызова. Необязательный параметр.incoming
(bool) — является ли этот звонок входящим. Необязательный параметр. По умолчаниюfalse
.- holdable (bool) — может ли этот звонок быть переведен в режим удержания. Необязательный параметр. По умолчанию
false
. remoteName
(string) — удобочитаемое имя вызывающего абонента.remoteHandle
(string) — алфавитно-цифровой идентификатор удаленной учётной записи VoIP. Необязательный параметр.localHandle
(string) — алфавитно-цифровой идентификатор локальной учётной записи VoIP. Необязательный параметр.localName
(string) — удобочитаемое имя локальной учётной записи VoIP. Необязательный параметр.
См. также Call и CallFactoryInterface.
bool CallManager::removeCall(const QString &id)
Уничтожает существующий экземпляр Call с заданным id.
Возвращает true
, если Call успешно удален, или false
, если Call с таким id не
найден.
См. также Call.
void CallManager::setCallFactory(CallFactoryInterface *factory)
Создаёт factory для создания экземпляров Call.
По умолчанию фабрика создаёт экземпляр Call. Этим методом можно воспользоваться, если необходимо использовать собственную производную класса.
См. также CallFactoryInterface.