src/provider/SecurityProvider.js

goog.module('gep.provider.SecurityProvider');

const {EventTarget,EventType,Event} = goog.require('goog.events');

/**
 * Provider which serves as the storage location for the user consent to accepted external loading processes.
 * @extends {EventTarget}
 */
class SecurityProvider extends EventTarget
{
    constructor()
    {
        super();

        /**
         * Variable saves whether data protection has been agreed yet
         * @type {boolean}
         * @private
         */
        this.legalsAccepted_ = false;
    }

    /**
     * Setter
     * @param {boolean} value
     */
    set legalsAccepted(value)
    {
        if(this.legalsAccepted_ != value)
        {
            this.legalsAccepted_ = value;
            this.dispatchEvent(new Event(EventType.CHANGE));
        }
    }

    /**
     * Getter
     * @return {boolean}
     */
    get legalsAccepted()
    {
        return this.legalsAccepted_;
    }
}

goog.addSingletonGetter(SecurityProvider);

exports = SecurityProvider;