| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292 |
- import { ZoomVideoSDKErrors } from './zoom_video_sdk_defines.js'
- import messages from './electron_zoomvideosdk_pb.js'
- import { setUserInfo } from './zoom_video_sdk_user_util.js'
- export default (function () {
- var instance
- /**
- * Return an instance to manage users present in a video SDK session.
- * @module zoom_video_sdk_user
- * @return {ZoomVideoSDKUser}
- */
- function init (opts) {
- const clientOpts = {...opts}
- // Private methods and variables
- if (!clientOpts.addon) {
- return null
- }
- const _addon = clientOpts.addon.GetUserHelper()
- const _renderAddon = clientOpts.addon.GetVideoSDKRender()
- return {
- // Public methods and variables
- /**
- * Subscribe video/share
- * @method subscribe
- * @param {Object} user
- * @param {Number} dataType 0 means subscribe video, 1 means subscribe share
- * @param {Number} recv_handle
- * @param {Number} resolution subscribe size
- * @return {Number} If the function succeed, the return value is ZoomVideoSDKErrors_Success.
- Otherwise failed. To get extended error information, {@link ZoomVideoSDKErrors} enum.
- */
- subscribe: function (opts) {
- if (_renderAddon) {
- const clientOpts = {...opts}
- const user = setUserInfo(clientOpts.user)
- const dataType = Number(clientOpts.dataType)
- const recv_handle = Number(clientOpts.recv_handle)
- const resolution = Number(clientOpts.resolution)
- try {
- const SubscribeParams = new messages.SubscribeParams()
- SubscribeParams.setZnUser(user)
- SubscribeParams.setZnType(dataType)
- SubscribeParams.setZnRecvHandle(recv_handle)
- SubscribeParams.setZnResolution(resolution)
- const bytes = SubscribeParams.serializeBinary()
- return _renderAddon.Subscribe(bytes)
- } catch (error) {
- return ZoomVideoSDKErrors.ZoomVideoSDKErrors_Invalid_Parameter;
- }
- }
- return ZoomVideoSDKErrors.ZoomVideoSDKErrors_Internal_Error
- },
- /**
- * Unsubscribe video/share
- * @method unSubscribe
- * @param {Number} recv_handle
- * @param {Object} user
- * @param {Number} dataType 0 means UnSubscribe video, 1 means UnSubscribe share
- * @return {Number} If the function succeed, the return value is ZoomVideoSDKErrors_Success.
- Otherwise failed. To get extended error information, {@link ZoomVideoSDKErrors} enum.
- */
- unSubscribe: function (opts) {
- if (_renderAddon) {
- const clientOpts = {...opts}
- const recv_handle = Number(clientOpts.recv_handle)
- const user = setUserInfo(clientOpts.user)
- const dataType = Number(clientOpts.dataType)
- try {
- const UnSubscribeParams = new messages.UnSubscribeParams()
- UnSubscribeParams.setZnRecvHandle(recv_handle)
- UnSubscribeParams.setZnUser(user)
- UnSubscribeParams.setZnType(dataType)
- const bytes = UnSubscribeParams.serializeBinary()
- return _renderAddon.UnSubscribe(bytes)
- } catch (error) {
- return ZoomVideoSDKErrors.ZoomVideoSDKErrors_Invalid_Parameter;
- }
- }
- return ZoomVideoSDKErrors.ZoomVideoSDKErrors_Internal_Error
- },
- /**
- * Subscribe camera stream
- * @method subscribeMultiCameraStream
- * @param {Object} user
- * @param {Number} cameraStreamID the id which camera stream will be subscribed
- * @param {Number} recv_handle
- * @param {Number} resolution subscribe size
- * @return {Number} If the function succeed, the return value is ZoomVideoSDKErrors_Success.
- Otherwise failed. To get extended error information, {@link ZoomVideoSDKErrors} enum.
- */
- subscribeMultiCameraStream: function (opts) {
- if (_renderAddon) {
- const clientOpts = {...opts}
- const user = setUserInfo(clientOpts.user)
- const cameraStreamID = Number(clientOpts.cameraStreamID)
- const recv_handle = Number(clientOpts.recv_handle)
- const resolution = Number(clientOpts.resolution)
- try {
- const SubscribeMultiCameraStreamParams = new messages.SubscribeMultiCameraStreamParams()
- SubscribeMultiCameraStreamParams.setZnUser(user)
- SubscribeMultiCameraStreamParams.setCamerastreamid(cameraStreamID)
- SubscribeMultiCameraStreamParams.setZnRecvHandle(recv_handle)
- SubscribeMultiCameraStreamParams.setZnResolution(resolution)
- const bytes = SubscribeMultiCameraStreamParams.serializeBinary()
- return _renderAddon.SubscribeMultiCameraStream(bytes)
- } catch (error) {
- return ZoomVideoSDKErrors.ZoomVideoSDKErrors_Invalid_Parameter;
- }
- }
- return ZoomVideoSDKErrors.ZoomVideoSDKErrors_Internal_Error
- },
- /**
- * the id which camera stream will be subscribed
- * @method unSubscribeMultiCameraStream
- * @param {Number} recv_handle
- * @param {Object} user
- * @param {Number} cameraStreamID the id which camera stream will be unsubscribed
- * @return {Number} If the function succeed, the return value is ZoomVideoSDKErrors_Success.
- Otherwise failed. To get extended error information, {@link ZoomVideoSDKErrors} enum.
- */
- unSubscribeMultiCameraStream: function (opts) {
- if (_renderAddon) {
- const clientOpts = {...opts}
- const recv_handle = Number(clientOpts.recv_handle)
- const user = setUserInfo(clientOpts.user)
- const cameraStreamID = Number(clientOpts.cameraStreamID)
- try {
- const UnSubscribeMultiCameraStreamParams = new messages.UnSubscribeMultiCameraStreamParams()
- UnSubscribeMultiCameraStreamParams.setZnRecvHandle(recv_handle)
- UnSubscribeMultiCameraStreamParams.setZnUser(user)
- UnSubscribeMultiCameraStreamParams.setCamerastreamid(cameraStreamID)
- const bytes = UnSubscribeMultiCameraStreamParams.serializeBinary()
- return _renderAddon.UnSubscribeMultiCameraStream(bytes)
- } catch (error) {
- return ZoomVideoSDKErrors.ZoomVideoSDKErrors_Invalid_Parameter;
- }
- }
- return ZoomVideoSDKErrors.ZoomVideoSDKErrors_Internal_Error
- },
- /**
- * Get multi-camera data pipe list.
- * @method getMultiCameraStreamList
- * @param {Object} user
- * @return {Array} the return value is the pipe list.
- */
- getMultiCameraStreamList: function (opts) {
- if (_renderAddon) {
- const clientOpts = {...opts}
- const user = setUserInfo(clientOpts.user)
- try {
- const GetMultiCameraStreamList = new messages.GetMultiCameraStreamList()
- GetMultiCameraStreamList.setUser(user)
- const bytes = GetMultiCameraStreamList.serializeBinary()
- const result = _renderAddon.GetMultiCameraStreamList(bytes)
- const message = new messages.MultiCameraStreamList.deserializeBinary(result)
- const tempList = message.getCamerastreaminfoList()
- let cameraStreamList = []
- for (let val of tempList) {
- let obj = {
- cameraStreamID: val.getCamerastreamid()
- }
- cameraStreamList.push(obj)
- }
- return cameraStreamList
- } catch (error) {
- return ZoomVideoSDKErrors.ZoomVideoSDKErrors_Invalid_Parameter;
- }
- }
- return ZoomVideoSDKErrors.ZoomVideoSDKErrors_Internal_Error
- },
- /**
- * Change name of user object
- * @method changeName
- * @param {String} name the new name of the user object
- * @param {Object} user the user object
- * @return {Boolean} true if success. Otherwise returns false.
- */
- changeName: function (opts) {
- if (_addon) {
- const clientOpts = {...opts}
- try {
- const name = clientOpts.name
- const user = setUserInfo(clientOpts.user)
- const ChangeNameParams = new messages.ChangeNameParams()
- ChangeNameParams.setZnName(name)
- ChangeNameParams.setUser(user)
- const bytes = ChangeNameParams.serializeBinary()
- return _addon.ChangeName(bytes)
- } catch (error) {
- return ZoomVideoSDKErrors.ZoomVideoSDKErrors_Invalid_Parameter;
- }
- }
- return ZoomVideoSDKErrors.ZoomVideoSDKErrors_Internal_Error
- },
- /**
- * make some user as session host
- * @method makeHost
- * @param {Object} user the user object
- * @return {Boolean} true if success. Otherwise returns false.
- */
- makeHost: function (opts) {
- if (_addon) {
- const clientOpts = {...opts}
- try {
- const user = setUserInfo(clientOpts.user)
- const MakeHostParams = new messages.MakeHostParams()
- MakeHostParams.setUser(user)
- const bytes = MakeHostParams.serializeBinary()
- return _addon.MakeHost(bytes)
- } catch (error) {
- return ZoomVideoSDKErrors.ZoomVideoSDKErrors_Invalid_Parameter;
- }
- }
- return ZoomVideoSDKErrors.ZoomVideoSDKErrors_Internal_Error
- },
- /**
- * make some user as session manager(coHost)
- * @method makeManager
- * @param {Object} user the user object
- * @return {Boolean} true if success. Otherwise returns false.
- */
- makeManager: function (opts) {
- if (_addon) {
- const clientOpts = {...opts}
- try {
- const user = setUserInfo(clientOpts.user)
- const MakeManagerParams = new messages.MakeManagerParams()
- MakeManagerParams.setUser(user)
- const bytes = MakeManagerParams.serializeBinary()
- return _addon.MakeManager(bytes)
- } catch (error) {
- return ZoomVideoSDKErrors.ZoomVideoSDKErrors_Invalid_Parameter;
- }
- }
- return ZoomVideoSDKErrors.ZoomVideoSDKErrors_Internal_Error
- },
- /**
- * revoke some user's manager right
- * @method revokeManager
- * @param {Object} user the user object
- * @return {Boolean} true if success. Otherwise returns false.
- */
- revokeManager: function (opts) {
- if (_addon) {
- const clientOpts = {...opts}
- try {
- const user = setUserInfo(clientOpts.user)
- const RevokeManagerParams = new messages.RevokeManagerParams()
- RevokeManagerParams.setUser(user)
- const bytes = RevokeManagerParams.serializeBinary()
- return _addon.RevokeManager(bytes)
- } catch (error) {
- return ZoomVideoSDKErrors.ZoomVideoSDKErrors_Invalid_Parameter;
- }
- }
- return ZoomVideoSDKErrors.ZoomVideoSDKErrors_Internal_Error
- },
- /**
- * remove some user from current session
- * @method removeUser
- * @param {Object} user the user object
- * @return {Number} If the function succeed, the return value is ZoomVideoSDKErrors_Success.
- Otherwise failed. To get extended error information, {@link ZoomVideoSDKErrors} enum.
- */
- removeUser: function (opts) {
- if (_addon) {
- const clientOpts = {...opts}
- try {
- const user = setUserInfo(clientOpts.user)
- const RemoveUserParams = new messages.RemoveUserParams()
- RemoveUserParams.setUser(user)
- const bytes = RemoveUserParams.serializeBinary()
- return _addon.RemoveUser(bytes)
- } catch (error) {
- return ZoomVideoSDKErrors.ZoomVideoSDKErrors_Invalid_Parameter;
- }
- }
- return ZoomVideoSDKErrors.ZoomVideoSDKErrors_Internal_Error
- }
- }
- };
- return {
- getInstance: function (opts) {
- if (!instance) {
- instance = init(opts)
- }
- return instance
- }
- }
- })()
|