Основные методы, используемые в Sailfish-фреймворке.
Аутентификация пользователя по логину и паролю
Для аутентификации пользователя по логину и паролю используйте метод auth:
std::string hhive::HHive::auth (
std::string login,
std::string password
)
Аргументы:
login. Логин пользователя;
password. Пароль пользователя.
Метод возвращает JSON в виде строки с ответом сервера.
Аутентификация пользователя со сменой пароля
Для аутентификации пользователя со сменой пароля используйте метод authWithChangePassword:
std::string hhive::HHive:: authWithChangePassword
(
std::string login,
std::string password,
std::string newPassword,
std::string confirmNewPassword,
)
Аргументы:
login. Логин пользователя;
password. Пароль пользователя;
newPassword. Новый пароль пользователя;
confirmNewPassword. Повтор нового пароля пользователя.
Метод возвращает JSON в виде строки с ответом сервера.
Для получения списка сертификатов используйте метод getDSSCertificates:
std::string hhive::HHive::getDSSCertificates (
std::string password
)
Аргументы:
password. DSS пароль пользователя.
Метод возвращает JSON в виде строки с ответом сервера.
Для подписывания ячейки используйте метод signDSSCertificate:
std::string hhive::HHive::signDSSCertificate (
std::string resource,
std::string tableName,
std::string requestParams,
std::string column,
std::string row,
std::string password,
std::string certificateID,
std::string certificatePin
)
Аргументы:
resource. Название ресурса;
tableName. Имя таблицы с кэшем на сервере;
requestParams. Параметры, с которыми вызывался запрос на получение данных кэшируемого ресурса;
column. Имя столбца в таблице;
hhiveID. Номер строки;
password. DSS пароль пользователя;
certificateID. ID сертификата;
certificatePin. Pin сертификата.
Метод возвращает JSON в виде строки с ответом сервера.
Проверка доступности сервера мобильной платформы
Для проверки доступности сервера мобильной платформы используйте метод status:
std::string hhive::HHive:: status (
std::string serverUrl,
)
Аргументы:
serverUrl. URL-адрес сервера мобильной платформы.
Метод возвращает JSON в виде строки с ответом сервера.
Для задания URL-адреса сервера мобильной платформы используйте метод setUrl:
void hhive::HHive::setUrl (
std::string url
)
Аргументы:
url. URL-адрес сервера мобильной платформы.
Для получения URL-адреса сервера мобильной платформы используйте метод url:
std::string hhive::HHive::url (
)
const
Для задания версии API используйте метод setApi:
void hhive::HHive::setApi (
std::string api
)
Аргументы:
api. Версия API.
Для задания названия приложения используйте метод setApp:
void hhive::HHive::setApp (
std::string app
)
Аргументы:
app. Название приложения.
Вывод лога работы фреймворка в консоль (setLogEnabled)
Метод setLogEnabled определяет вывод лога работы фреймворка в консоль.
void hhive::HHive::setLogEnabled (
bool enabled
)
Входные параметры:
Параметр | Тип данных | Описание |
enabled | Bool | Определение вывода лога работы фреймворка в консоль. Возможные значения:
|
Для подключения к базе данных используйте метод openDatabase:
bool hhive::HHive::openDatabase (
std::string path,
std::string key
)
Аргументы:
path. Путь к базе данных, содержащий имя базы;
key. Пароль к базе данных.
Примечание. Пароль может быть пустой строкой.
Метод возвращает значение True в случае успешного подключения, иначе False.
Смена ключа шифрования базы данных (reKeyDatabase)
Для смены ключа шифрования базы данных используйте метод reKeyDatabase:
bool hhive::HHive::reKeyDatabase (
std::string path,
std::string key
)
Аргументы:
path. Путь к базе данных, содержащий имя базы;
key. Новый ключ шифрования базы данных.
Примечание. Новый ключ шифрования базы данных может быть пустой строкой.
Метод возвращает значение True в случае успешного подключения, иначе False.
Примечание. Перед сменой ключа шифрования откройте базу данных с помощью метода openDatabase или resources. После закрытия мобильного приложения или выполнения метода closeDatabase будет использоваться новый ключ шифрования базы данных.
Пример:
hh.openDatabase("testDatabase.sqlite3","Key1");
hh.reKeyDatabase("testDatabase.sqlite3","Key2");
hh.closeDatabase("testDatabase.sqlite3");
hh.openDatabase("testDatabase.sqlite3","Key2");
Выполнение запроса в открытой базе данных
Для выполнения запроса в открытой базе данных используйте метод query:
std::string hhive::HHive::query (
std::string database,
std::string query
)
Аргументы:
database. Путь к базе данный, содержащий имя базы;
query. SQL-запрос.
Получение списка таблиц ресурса
Для получения списка таблиц ресурса используйте метод getTablesName:
std::string hhive::HHive::getTablesName ( std::string database,
std::string resource,
std::string params,
std::string tableName
)
Аргументы:
database. Путь к базе, содержащий имя базы;
resource. Имя ресурса;
params. Параметры, которые использовались для получения данных по ресурсу;
tableName. Имя таблицы на сервере. Используется для получения конкретной таблицы в многотабличном ресурсе.
Метод возвращает JSON в виде строки со списком имен таблиц.
Удаление сохраненных данных ресурса
Для удаления сохранённой версии кэша по параметрам из базы данных используйте метод dropCache:
std::string hhive::HHive::dropCache ( std::string database,
std::string resource,
std::string params
)
Аргументы:
database. Путь к базе, содержащий имя базы;
resource. Имя ресурса;
params. Параметры, которые использовались для получения данных по ресурсу.
Метод возвращает результат выполнения запроса в виде JSON.
Для отключения базы данных используйте метод closeDatabase:
bool hhive::HHive::closeDatabase (
std::string path
)
Аргументы:
path. Путь к базе данных, содержащий имя базы.
Метод возвращает значение True в случае успешного отключения, иначе False.
Получение списка всех ресурсов
Метод resources запрашивает список всех ресурсов:
std::string hhive::HHive::resources (
std::string databasePath
)
Аргументы:
databasePath. Имя файла с базой данных.
Примечание. Если файл не существует по указанному пути, то он создается автоматически.
Метод сохраняет полученный список ресурсов в базу данных.
Синхронный запрос на получение данных ресурса со скалярными параметрами
Метод deltaStreamRequest синхронно запрашивает данные ресурса со скалярными параметрами:
std::string hhive::HHive::deltaStreamRequest (
const std::string & resource,
const DeltaParams
& params
)
Аргументы:
resource. Название ресурса;
params. Дополнительные параметры запроса.
Метод возвращает JSON в виде строки с ответом сервера.
Асинхронный запрос на получение данных ресурса со скалярными параметрами
Метод deltaStreamRequestAsync асинхронно запрашивает данные ресурса со скалярными параметрами:
std::string hhive::HHive::deltaStreamRequestAsync (
const std::string & resource,
const DeltaParams & params
)
Аргументы:
resource. Название ресурса;
params. Дополнительные параметры запроса.
Метод возвращает объект std::future<std::string>, в который далее будет записана JSON-строка с ответом сервера.
Синхронный запрос на получение данных ресурса с табличными параметрами
Метод tableRequest синхронно запрашивает данные ресурса с табличными параметрами:
std::string hhive::HHive::tableRequest (
std::string resource,
std::string transactionID,
TableParams params
)
Аргументы:
resource. Название ресурса;
transactionID. ID транзакции;
params. Дополнительные параметры запроса.
Метод возвращает JSON в виде строки с ответом сервера.
Асинхронный запрос на получение данных ресурса с табличными параметрами
Метод tableRequestAsync асинхронно запрашивает данные ресурса с табличными параметрами:
std::string hhive::HHive::tableRequestAsync (
std::string resource,
std::string transactionID,
TableParams params
)
Аргументы:
resource. Название ресурса;
transactionID. ID транзакции;
params. Дополнительные параметры запроса.
Метод возвращает объект std::future<std::string>, в который далее будет записана JSON-строка с ответом сервера.
Синхронный запрос на получение данных ресурса с табличными или скалярными параметрами
Метод tableStreamRequest синхронно запрашивает данные ресурса с табличными или скалярными параметрами:
std::string hhive::HHive::tableStreamRequest (
std::string resource,
std::string transactionID,
TableStreamParams params
)
Аргументы:
resource. Название ресурса;
transactionID. ID транзакции;
Примечание. Задается только для ресурса с табличными параметрами.
params. Дополнительные параметры запроса.
Метод возвращает JSON в виде строки с ответом сервера.
Асинхронный запрос на получение данных ресурса с табличными или скалярными параметрами
Метод tableStreamRequestAsync асинхронно запрашивает данные ресурса с табличными или скалярными параметрами:
std::string hhive::HHive::tableStreamRequestAsync (
std::string resource,
std::string transactionID,
TableStreamParams params
)
Аргументы:
resource. Название ресурса;
transactionID. ID транзакции;
Примечание. Задается только для ресурса с табличными параметрами.
params. Дополнительные параметры запроса.
Метод возвращает объект std::future<std::string>, в который далее будет записана JSON-строка с ответом сервера.
Возобновление загрузки ресурса (useDownload)
Метод useDownload определяет возобновление загрузки ресурса.
void hhive::HHive::useDownload (
bool val
)
Входной параметр:
Параметр | Тип данных | Описание |
val | Bool | Определение возобновления загрузки ресурса. Возможные значения:
|
Метод используется при неуспешной попытке загрузки ресурса для восстановления загрузки ресурса с сохранением состояния на момент прерывания. Если во время загрузки ресурса произошла ошибка или разрыв соединения с сервером мобильной платформы, то мобильное приложение будет выполнять повторные попытки запроса ресурса.
Для возобновления загрузки ресурса используйте свойства retryCount и retryInterval вспомогательных классов DeltaParams, TableParams, TableStreamParams при выполнении методов работы с ресурсами.
Порядок использования возобновления загрузки ресурса:
Укажите путь к папке с файлами текущего состояния загрузки ресурсов с помощью метода setFilePath после инициализации Sailfish-фреймворка в директории мобильного приложения.
Включите возобновление загрузки ресурса. Для включения возобновления загрузки ресурса используйте метод useDownload со значением True.
Выполните необходимые методы работы с ресурсами.
Отключите возобновление загрузки ресурса. Для отключения возобновления загрузки ресурса используйте метод useDownload со значением False.
Установка пути к папке с файлами текущего состояния загрузки ресурса (setFilePath)
Метод setFilePath устанавливает путь к папке в директории мобильного приложения, где будут храниться файлы текущего состояния загрузки ресурсов.
void hhive::HHive::setFilePath (
std::string path
)
Входной параметр:
Параметр | Тип данных | Описание |
path | String | Путь к папке в директории мобильного приложения, где будут храниться файлы текущего состояния загрузки ресурса. По умолчанию путь не задан. |
Для задания названия среды используйте метод setEnvironment:
void hhive::HHive::setEnvironment (
std::string environment
)
Аргументы:
environment. Название среды.
Для задания названия проекта используйте метод setProject:
void hhive::HHive::setProject (
std::string project
)
Аргументы:
project. Название проекта.
Задание идентификатора устройства
Для задания идентификатора устройства используйте метод setDevice:
void hhive::HHive::setDevice (
std::string device
)
Аргументы:
device. Идентификатор устройства.
Для получения названия среды используйте метод environment:
std::string hhive::HHive::environment (
)
const
Для получения названия проекта используйте метод project:
std::string hhive::HHive::project (
)
const
Получение идентификатора устройства
Для получения идентификатора устройства используйте метод device:
std::string hhive::HHive::device (
)
const
Загрузка файла на сервер (putFile)
Для загрузки файла на сервер используйте метод putFile:
std::string hhive::HHive::putFile (
std::string mountName,
std::string filename,
std::string localFilename,
std::string password
)
Аргументы:
mountName. Имя точки монтирования на сервере;
filename. Путь до файла на сервере, содержащий имя файла;
localFilename. Путь до локального файла, содержащий имя локального файла;
password. Пароль шифрования. При отправке на сервер файл расшифровывается и отправляется в открытом виде. Если пароль задан пустым, то шифрование не применяется.
Метод возвращает JSON в виде строки с ответом сервера.
Для получения файла используйте метод getFile:
std::string hhive::HHive::getFile (
std::string mountName,
std::string filename,
std::string localFilename,
std::string password
)
Аргументы:
mountName. Имя точки монтирования на сервере;
filename. Путь до файла на сервере, содержащий имя файла;
localFilename. Путь до локального файла, содержащий имя файла;
password. Пароль шифрования. При получении файл шифруется и хранится в зашифрованном виде на мобильном устройстве. Если пароль задан пустым, то шифрование не применяется.
Метод возвращает JSON в виде строки с ответом сервера.
Шифрование файла, строки, байтового массива
Для шифрования файла в новый файл используйте метод cryptFileToFile:
bool cryptFileToFile(std::string filename, std::string destFilename, std::string password)
Для шифрования файла в строку используйте метод cryptFileToString:
std::string cryptFileToString(std::string filename, std::string password)
Для шифрования строки в новый файл используйте метод cryptStringToFile:
bool cryptStringToFile(std::string filename, std::string content,std::string password);
Для шифрования байтового массива в новый файл используйте метод cryptByteArrayToFile:
bool cryptByteArrayToFile(std::string filename, std::vector<char> content,std::string password);
Для шифрования строки в новую строку используйте метод cryptStringToString:
std::string cryptStringToString(std::string content, std::string password);
Аргументы:
filename. Путь к исходному файлу. Путь к новому зашифрованному файлу в методе шифрования байтового массива в файл;
destFilename. Путь к новому зашифрованному файлу;
password. Пароль шифрования;
content. Содержимое строки или байтового массива.
Методы возвращают JSON в виде строки с ответом сервера.
Расшифровка файла, строки, байтового массива
Для расшифровки файла в новый файл используйте метод decryptToFile:
decryptToFile(std::string filename, std::string destFilename, std::string password)
Для расшифровки файла в строку используйте метод decryptToString:
decryptToString(std::string filename, std::string password)
Для расшифровки файла в байтовый массив используйте метод decryptToByteArray:
std::vector<char> decryptToByteArray(std::string filename, std::string password)
Для расшифровки строки в новый файл используйте метод decryptFromStringToFile:
bool decryptFromStringToFile(std::string content, std::string filename, std::string password);
Для расшифровки строки в новую строку используйте метод decryptStringToString:
std::string decryptStringToString(std::string content, std::string password);
Аргументы:
filename. Путь к исходному файлу. Путь к расшифрованному файлу в методе расшифровки строки в новый файл;
destFilename. Путь к расшифрованному файлу;
password. Пароль шифрования;
content. Содержимое строки.
Методы возвращают JSON в виде строки с ответом сервера.
Получение информации о файле на сервере (getFileMeta)
Для получения информации о файле на сервере используйте метод getFileMeta:
std::string hhive::HHive::getFileMeta (
std::string mountName,
std::string filename
)
Аргументы:
mountName. Имя точки монтирования на сервере;
filename. Путь до файла, содержащий имя файла.
Метод возвращает JSON в виде строки с ответом сервера.
Получение содержимого директории (getDirectoryContent)
Для получения содержимого директории используйте метод getDirectoryContent:
std::string hhive::HHive::getDirectoryContent
(
std::string mountName,
std::string dirPath
)
Аргументы:
mountName. Имя точки монтирования на сервере;
filename. Путь до директории.
Метод возвращает JSON в виде строки с ответом сервера, содержимым папки в виде списка файлов и папок указанной директории.
Удаление файла на сервере (deleteFile)
Для удаления файла на сервере используйте метод deleteFile:
std::string hhive::HHive::deleteFile (
std::string mountName,
std::string filename
)
Примечание. Локальные файлы не удаляются.
Аргументы:
mountName. Имя точки монтирования на сервере.
filename. Путь до файла на сервере, содержащий имя файла.
Получение данных по выполненной транзакции
Для получения данных по выполненной транзакции используйте метод getTransaction:
std::string hhive::HHive::getTransaction (
std::string resource,
std::string transactionID
)
Аргументы:
resource. Имя ресурса;
transactionID. ID транзакции.
Метод возвращает JSON в виде строки с ответом сервера.
Получение списка выполненных транзакций с табличным ресурсом
Для получения списка выполненных транзакций с табличным ресурсом используйте метод getAllTransaction:
std::string hhive::HHive::getAllTransaction (
std::string resource
)
Аргументы:
resource. Имя ресурса.
Удаление транзакции на сервере
Для удаления транзакции на сервере используйте метод deleteTransaction:
std::string hhive::HHive::deleteTransaction (
std::string resource,
std::string transactionID
)
Аргументы:
resource. Имя ресурса;
transactionID. ID транзакции.
Для инициализации и настройки Seilfish обратитесь к разделу «Инициализация и настройка в рамках Sailfish-фреймворка».
См. также:
Фреймворк Sailfish | Инициализация и настройка в рамках Sailfish-фреймворка | Вспомогательные классы