NFC daemon
Является корневым интерфейсом при работе с NFCD. Подробнее…
Шина: | системная |
Служба: | org.sailfishos.nfc.daemon |
Объект: | / |
Интерфейс: | org.sailfishos.nfc.Daemon |
Сигналы
- AdaptersChanged(const vector<ObjectPath> &adapters)
- ModeChanged(uint mode)
Методы
- GetAdapters(vector<ObjectPath> &adapters)
- GetAll(int &version, vector<ObjectPath> &adapters)
- GetAll2(int &version, vector<ObjectPath> &adapters, int &daemon_version)
- GetAll3(int &version, vector<ObjectPath> &adapters, int &daemon_version, uint &mode)
- GetDaemonVersion(int &daemon_version)
- GetInterfaceVersion(int &version)
- GetMode(uint &mode)
- RegisterLocalService(const ObjectPath &path, const string &name, uint &sap)
- UnregisterLocalService(const ObjectPath &path)
- RequestMode(uint enable, uint disable, uint &id)
- ReleaseMode(uint id)
Подробное описание
Интерфейс daemon является корневым при работе с NFCD. Сначала создаётся объект daemon, после чего через него создаётся объект адаптера.
Описание сигналов
AdaptersChanged(const vector<ObjectPath> &adapters)
Испускается при изменении списка адаптеров NFC.
adapters
предоставляет актуальный список.
ModeChanged(uint mode)
Сигнал сообщает об изменении режима работы адаптера.
Режим работы адаптера NFCD является битовой маской:
0x01
— P2P-инициатор;0x02
— Reader/Writer;0x04
— P2P-приёмник;0x08
— эмуляция метки (режим не реализован в текущей версии).
Описание методов
GetAdapters(vector<ObjectPath> &adapters)
Возвращает список NFC-адаптеров, установленных в устройстве.
GetAll(int &version, vector<ObjectPath> &adapters)
Возвращает:
version
— версию интерфейса;adapters
— список NFC-адаптеров, установленных в устройстве.
GetAll2(int &version, vector<ObjectPath> &adapters, int &daemon_version)
Возвращает:
version
— версию интерфейса;adapters
— список NFC-адаптеров, установленных в устройстве;daemon_version
— версию NFCD.
GetAll3(int &version, vector<ObjectPath> &adapters, int &daemon_version, uint &mode)
Возвращает:
version
— версию интерфейса;adapters
— список NFC-адаптеров, установленных в устройстве;daemon_version
— версию NFCD;mode
— и режим работы NFCD.
GetDaemonVersion(int &daemon_version)
Записывает в daemon_version
версию NFCD.
GetInterfaceVersion(int &version)
Записывает в version
версию D-Bus интерфейса.
GetMode(uint &mode)
Записывает в mode
режим работы NFCD.
RegisterLocalService(const ObjectPath &path, const string &name, uint &sap)
Метод служит для регистрации мнемонического имени сервиса, Service Access Point (SAP). SAP — функциональный аналог порта в протоколе TCP/IP, использующийся в протоколе LLCP при взаимодействии двух NFC-адаптеров по P2P-соединению.
UnregisterLocalService(const ObjectPath &path)
Метод служит для удаления SAP.
RequestMode(uint32 enable, uint32 disable, uint32 &id)
Метод служит для регистрации запроса на изменение режима работы демона.
Запросы на изменение режима работы могут поступать от разных приложений и обрабатываются по очереди.
Аргументы enable
и disable
— битовые маски,
метод выполняет с ними и текущим значением режима работы
операции OR и XOR, соответственно.
Метод возвращает значение id
, по которому позднее можно отменить изменение,
выполнив обратную операцию при помощи метода ReleaseMode
.
При изменении режима работы адаптера испускается сигнал ModeChanged.
ReleaseMode(uint32 id)
Отменяет ранее сделанную операцию RequestMode
.