initi.doc/docfiles/providers/managers/models/model.js

109 lines
2.4 KiB
JavaScript
Raw Normal View History

2018-09-19 10:25:01 +00:00
/**
* ### Нода дерева.
*
* Представляет интефрейс для доступа к данным устройства.
*
* Позволяет получить список компонентов модели
2018-09-19 10:25:01 +00:00
*
*
2018-09-19 10:25:01 +00:00
* @class Model
* @memberof Models
*/
function Model() {
/**
*
* @public
* @name static
* @type {Models.Model.static_data}
*/
this.static = new Models.Model.static_data();
2018-09-19 10:25:01 +00:00
/**
*
* @public
* @function address
* @memberof Models.Model
2018-09-19 10:40:04 +00:00
* @returns {v2.address}
2018-09-19 10:25:01 +00:00
*/
this.address = function() {
};
/**
*
* @public
* @function groups
* @memberof Models.Model
2018-09-19 10:40:04 +00:00
* @returns {tools.promise}
2018-09-19 10:25:01 +00:00
*/
this.groups = function() {
};
/**
*
* @public
* @function get_group
* @memberof Models.Model
* @param groupType {v2.model_type}
* @returns {tools.promise(ModelGroup)}
*/
this.get_group = function(groupType) {
};
2018-09-19 10:25:01 +00:00
/**
* #### Загрузка статических переменных для модели.
*
* @example
* var model_provider = null;
* var model_ref = null;
* ps.pl.mm().get(_model_addr).then(function (_ref) {
* model_ref = _ref;
* model_provider = _ref.value();
*
* return model_provider.touch();
* }.bind(this), function (_err) {
* pr.reject({err: 0, sub: _err, message: "error on get model", model_addr: _model_addr});
* }.bind(this)).then(function () {
* pr.resolve({
* is_container: model_provider.static.is_container(),
* componentType: model_provider.static.base_component_type()
* });
* clear();
* }.bind(this), function (_err) {
* clear();
* pr.reject({err: 0, sub: _err, message: "error on get static model data", model_addr: _model_addr});
* }.bind(this));
*
* var clear = function () {
* model_ref.reset();
* model_ref = null;
* model_provider = null;
* };
*
2018-09-19 10:25:01 +00:00
*
* @public
* @function touch
* @memberof Models.Model
2018-09-19 10:40:04 +00:00
* @returns {tools.promise}
2018-09-19 10:25:01 +00:00
*/
this.touch = function() {
};
/**
*
* @public
* @function debug
* @memberof Models.Model
2018-09-19 10:40:04 +00:00
* @param {v2.address} destination
* @param {v2.address} variables
2018-09-19 10:25:01 +00:00
*/
this.debug = function(destination, variables) {
};
}