text: 'use strict';
  
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;
  
  var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
  
  var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
  
  var _createClass2 = require('babel-runtime/helpers/createClass');
  
  var _createClass3 = _interopRequireDefault(_createClass2);
  
  var _constants = require('../constants');
  
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  
  /**
   * @class MediaProperties
   */
  var MediaProperties = function () {
  
    /**
     * @param {Object} options -- optional to auto construct
     * @returns {MediaProperties}
     */
    function MediaProperties() {
      var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      (0, _classCallCheck3.default)(this, MediaProperties);
      this.namespace = _constants.MEETINGS;
  
      this.mediaDirection = options.mediaDirection;
      this.mediaPeerConnection = options.mediaPeerConnection;
      this.sharePeerConnection = options.sharePeerConnection;
      this.localStream = options.localStream;
      this.localShare = options.localShare;
      this.remoteStream = options.remoteStream;
      this.remoteShare = options.remoteShare;
    }
  
    (0, _createClass3.default)(MediaProperties, [{
      key: 'setAll',
      value: function setAll(mediaDirection, mediaPeerConnection, sharePeerConnection, localStream, localShare, remoteStream, remoteShare) {
        this.setMediaDirection(mediaDirection);
        this.setMediaPeerConnection(mediaPeerConnection);
        this.setSharePeerConnection(sharePeerConnection);
        this.setLocalStream(localStream);
        this.setLocalShare(localShare);
        this.setRemoteStream(remoteStream);
        this.setRemoteShare(remoteShare);
      }
    }, {
      key: 'setMediaDirection',
      value: function setMediaDirection(mediaDirection) {
        this.mediaDirection = mediaDirection;
      }
    }, {
      key: 'setMediaPeerConnection',
      value: function setMediaPeerConnection(mediaPeerConnection) {
        this.mediaPeerConnection = mediaPeerConnection;
      }
    }, {
      key: 'setSharePeerConnection',
      value: function setSharePeerConnection(sharePeerConnection) {
        this.sharePeerConnection = sharePeerConnection;
      }
    }, {
      key: 'setPeerConnections',
      value: function setPeerConnections(mediaPeerConnection, sharePeerConnection) {
        this.setMediaPeerConnection(mediaPeerConnection);
        this.setSharePeerConnection(sharePeerConnection);
      }
    }, {
      key: 'setLocalStream',
      value: function setLocalStream(localStream) {
        this.localStream = localStream;
      }
    }, {
      key: 'setLocalShare',
      value: function setLocalShare(localShare) {
        this.localShare = localShare;
      }
    }, {
      key: 'setRemoteStream',
      value: function setRemoteStream(remoteStream) {
        this.remoteStream = remoteStream;
      }
    }, {
      key: 'setRemoteShare',
      value: function setRemoteShare(remoteShare) {
        this.remoteShare = remoteShare;
      }
    }, {
      key: 'unsetMediaPeerConnection',
      value: function unsetMediaPeerConnection() {
        this.mediaPeerConnection = null;
      }
    }, {
      key: 'unsetSharePeerConnection',
      value: function unsetSharePeerConnection() {
        this.sharePeerConnection = null;
      }
    }, {
      key: 'unsetLocalStream',
      value: function unsetLocalStream() {
        this.localStream = null;
      }
    }, {
      key: 'unsetLocalShare',
      value: function unsetLocalShare() {
        this.localShare = null;
      }
    }, {
      key: 'unsetRemoteStream',
      value: function unsetRemoteStream() {
        this.remoteStream = null;
      }
    }, {
      key: 'unsetRemoteShare',
      value: function unsetRemoteShare() {
        this.remoteShare = null;
      }
    }, {
      key: 'unsetPeerConnections',
      value: function unsetPeerConnections() {
        this.unsetMediaPeerConnection();
        this.unsetSharePeerConnection();
      }
    }, {
      key: 'unsetLocalStreams',
      value: function unsetLocalStreams() {
        this.unsetLocalStream();
        this.unsetLocalShare();
      }
    }, {
      key: 'unsetRemoteStreams',
      value: function unsetRemoteStreams() {
        this.unsetRemoteStream();
        this.unsetRemoteShare();
      }
    }, {
      key: 'unsetShareStreams',
      value: function unsetShareStreams() {
        this.unsetLocalShare();
        this.unsetRemoteShare();
      }
    }, {
      key: 'unsetMediaStreams',
      value: function unsetMediaStreams() {
        this.unsetLocalStream();
        this.unsetRemoteStream();
      }
    }]);
    return MediaProperties;
  }();
  
  exports.default = MediaProperties;
  //# sourceMappingURL=properties.js.map
  