DpServiceImpl

class DpServiceImpl(apiClient: ApiClient, val sessions: SessionStore, var buildNotifyMessage: NotifyMessageBuilder) : DpService, SessionLogger

Реализация интерфейса {@link DpService}, предоставляющая основную бизнес-логику приложения.

Parameters

apiClient

клиент для взаимодействия с API

sessions

хранилище активных сессий

buildNotifyMessage

функция для построения уведомлений о изменениях данных

See also

Constructors

Link copied to clipboard
constructor(apiClient: ApiClient, sessions: SessionStore, buildNotifyMessage: NotifyMessageBuilder)

Properties

Link copied to clipboard
Link copied to clipboard
open override val logger: Logger
Link copied to clipboard
open override val sessions: SessionStore

Functions

Link copied to clipboard
open override fun dpConnect(sessionID: String, dpNames: Array<String>): Map<String, String>

Подписывается на изменения значений нескольких элементов точек данных.

open override fun dpConnect(sessionID: String, dpName: String): Map<String, String>

Подписывается на изменения значения элемента точки данных.

Link copied to clipboard
open override fun dpCreate(sessionID: String, dpName: String, dpTypeName: String): Boolean

Создаёт новую точку данных (Data Point) с указанным именем и типом.

Link copied to clipboard
open override fun dpDelete(sessionID: String, dpName: String): Boolean

Удаляет точку данных по имени.

Link copied to clipboard
open override fun dpDisconnect(sessionID: String, connectID: String): Boolean

Отключает подписку на изменения элементов точки данных.

Link copied to clipboard
open override fun dpDisconnectAll(sessionID: String): Boolean

Отключает все активные подписки для указанной сессии.

Link copied to clipboard
open override fun dpExists(sessionID: String, dpName: String): Boolean

Проверяет существование точки данных (Data Point) с указанным именем в рамках заданной сессии.

Link copied to clipboard
open override fun dpFind(sessionID: String, pattern: String, typeName: String, ignoreCase: Boolean, systemID: Int): List<String>

Возвращает список имён точек данных, соответствующих заданному фильтру.

open override fun dpFind(sessionID: String, pattern: String, typeName: String, ignoreCase: Boolean, systemName: String): List<String>

{@link #dpFind(String, String, String, Boolean, Int)} с именем системы вместо идентификатора.

Link copied to clipboard
open override fun dpGet(sessionID: String, dpNames: Array<String>): Map<String, Any?>

Возвращает значения нескольких элементо точек данных.

open override fun dpGet(sessionID: String, dpName: String): Any?

Возвращает значение элемента точки данных по имени.

Link copied to clipboard
open override fun dpGetInfo(sessionID: String, dpName: String): String

Возвращает информацию о точке данных.

Link copied to clipboard
open override fun dpGetPeriod(sessionID: String, dps: List<String>, from: Long, to: Long, count: Int, nMax: Long): List<HistoryDataPoint>

Загружает исторические данные по списку имен точек данных за указанный период времени.

Link copied to clipboard
open override fun dpNames(sessionID: String, pattern: String, typeName: String, ignoreCase: Boolean, systemID: Int): List<String>

Функция выполняет запрос к API для поиска точек данных, чьи имена и типы совпадают с указанными шаблонами. Результат включает полные имена в формате [<system>:]<data_point>.<element>:<config>.<detail>.<attr>

open override fun dpNames(sessionID: String, pattern: String, typeName: String, ignoreCase: Boolean, systemName: String): List<String>

{@link #dpFind(String, String, String, Boolean, Int)} с именем системы вместо идентификатора.

Link copied to clipboard
open override fun dpRename(sessionID: String, dpName: String, newName: String): Boolean

Переименовывает точку данных.

Link copied to clipboard
open override fun dpSet(sessionID: String, dataMap: Map<String, Any>): Boolean

Устанавливает значения нескольких элементов точек данных.

open override fun dpSet(sessionID: String, dpName: String, value: Any): Boolean

Устанавливает значение элемента точки данных.

Link copied to clipboard
open fun <T> withSessionLog(sessionID: String, methodName: String, args: Map<String, Any?> = emptyMap(), action: (session: Session) -> T): T

Выполняет действие с аутентифицированной сессией, предварительно залогировав вызов.