ds/SessionStateUpdate.js

/**
 * @fileoverview Exposed data type for use outside of DsClient.
 *               All properties should be exposed to allow use from uncompiled
 *               code.
 *
 * @author anders.rejdebrant@spark-vision.com (Anders Rejdebrant)
 */

goog.provide('spv.ds.SessionStateUpdate');

goog.require('spv.ds.DisplayPrice');
goog.require('spv.ds.Loan');
goog.require('spv.ds.MenuItem');
goog.require('spv.ds.MenuNode');




/**
 * @export
 * @struct
 * @constructor
 * @param {Array.<spv.ds.MenuItem>} menu_items
 * @param {spv.ds.MenuNode} menu_tree
 * @param {Array.<string>} subscription_ids
 * @param {Array.<spv.ds.MenuItem>} complex_subscriptions
 * @param {string} active_menu
 * @param {string} active_item
 * @param {spv.ds.DisplayPrice} total_price
 * @param {string} total_price_text
 * @param {string} model_id
 * @param {string} group_id
 * @param {number} serie
 * @param {number} frame
 * @param {string} image_filename
 * @param {string} mask_filename
 * @param {boolean} is_wrap
 * @param {boolean} is_reversed
 * @param {string} category
 * @param {null | spv.ds.Loan} loan
 */
spv.ds.SessionStateUpdate = function(
		menu_items,
		menu_tree,
		subscription_ids,
		complex_subscriptions,
		active_menu,
		active_item,
		total_price,
		total_price_text,
		model_id,
		group_id,
		serie,
		frame,
		image_filename,
		mask_filename,
		is_wrap,
		is_reversed,
		category,
		loan)
{
	/**
	 * @type {Array.<spv.ds.MenuItem>}
	 * @nocollapse
	 */
	this.menu_items = menu_items;

	/**
	 * @type {spv.ds.MenuNode}
	 * @nocollapse
	 */
	this.menu_tree = menu_tree;

	/**
	 * @type {Array.<string>}
	 * @nocollapse
	 */
	this.subscription_ids = subscription_ids;

	/**
	 * @type {Array.<spv.ds.MenuItem>}
	 * @nocollapse
	 */
	this.complex_subscriptions = complex_subscriptions;

	/**
	 * @type {string}
	 * @nocollapse
	 */
	this.active_menu = active_menu;

	/**
	 * @type {string}
	 * @nocollapse
	 */
	this.active_item = active_item;

	/**
	 * Please refer to the spv.ds.DisplayPrice documentation.
	 * @type {spv.ds.DisplayPrice}
	 * @nocollapse
	 */
	this.total_price = total_price;

	/**
	 * @type {string}
	 * @deprecated Use the price {spv.ds.DisplayPrice} property instead.
	 * @nocollapse
	 */
	this.total_price_text = total_price_text;

	/**
	 * @type {string}
	 * @nocollapse
	 */
	this.model_id = model_id;

	/**
	 * @type {string}
	 * @nocollapse
	 */
	this.group_id = group_id;

	/**
	 * @type {number}
	 * @nocollapse
	 */
	this.serie = serie;

	/**
	 * @type {number}
	 * @nocollapse
	 */
	this.frame = frame;

	/**
	 * @type {string}
	 * @nocollapse
	 */
	this.image_filename = image_filename;

	/**
	 * @type {string}
	 * @nocollapse
	 */
	this.mask_filename = mask_filename;

	/**
	 * @type {boolean}
	 * @nocollapse
	 */
	this.is_wrap = is_wrap;

	/**
	 * @type {boolean}
	 * @nocollapse
	 */
	this.is_reversed = is_reversed;

	/**
	 * @type {string}
	 * @nocollapse
	 */
	this.category = category;

	/**
	 * @type {null | spv.ds.Loan}
	 * @nocollapse
	 */
	this.loan = loan;
};