zoom_meeting_aan.js

const { ZoomSDKError } = require('./settings.js');
const messages = require('./electron_sdk_pb.js');

var ZoomMeetingAAN = (function () {
  let instance;
  /**
   * Zoom Meeting AAN
   * @module zoom_meeting_aan
   * @return {ZoomMeetingAAN}
   */
  function init(opts) {
    
    let clientOpts = opts || {};

    // Private methods and variables
    let _addon = clientOpts.addon.GetMeetingAAN() || null;

    return {
      /** 
      * Show AAN panel window.
      * @method ShowAANPanel
      * @param {Number} x the horizontal coordinate value. 
      * @param {Number} y the vertical coordinate value. 
      * @param {Number} windowID only support for MAC platform
      * @return {Number} If the function succeed, the return value is SDKERR_SUCCESS.
	      Otherwise failed. To get extended error information, Defined in: {@link ZoomSDKError}
      */
      ShowAANPanel: function (opts) {
        if (_addon) {
          let clientOpts = opts || {};
          let x = clientOpts.x || 0;
          let y = clientOpts.y || 0;
          let windowID = clientOpts.windowID || 0;
          try {
            let ShowAANPanelParams = new messages.ShowAANPanelParams();
            ShowAANPanelParams.setX(Number(x));
            ShowAANPanelParams.setY(Number(y));
            ShowAANPanelParams.setWindowid(Number(windowID));
            let bytes = ShowAANPanelParams.serializeBinary();
            return _addon.ShowAANPanel(bytes);            
          } catch (error) {
            return ZoomSDKError.SDKERR_INVALID_PARAMETER;
          }
        }
        return ZoomSDKError.SDKERR_UNINITIALIZE
      },
      /** 
      * Hide AAN panel window.
      * @method HideAANPanel
      * @return {Number} If the function succeed, the return value is SDKERR_SUCCESS.
	      Otherwise failed. To get extended error information, Defined in: {@link ZoomSDKError}
      */
      HideAANPanel: function () {
        if (_addon) {
          return _addon.HideAANPanel();
        }
        return ZoomSDKError.SDKERR_UNINITIALIZE
      }
    };
};
  return {
    getInstance: function (opts) {
      if (!instance) {
        instance = init(opts)
      }
      return instance
    }
  };
})();

module.exports = {
  ZoomMeetingAAN: ZoomMeetingAAN
}