正在显示
4 个修改的文件
包含
360 行增加
和
132 行删除
| @@ -73,7 +73,7 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -73,7 +73,7 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 73 | /******/ } | 73 | /******/ } |
| 74 | 74 | ||
| 75 | /******/ var hotApplyOnUpdate = true; | 75 | /******/ var hotApplyOnUpdate = true; |
| 76 | -/******/ var hotCurrentHash = "f35e06ee9a27d11fe730"; // eslint-disable-line no-unused-vars | 76 | +/******/ var hotCurrentHash = "a3d78cdd8a1339c5b14c"; // eslint-disable-line no-unused-vars |
| 77 | /******/ var hotCurrentModuleData = {}; | 77 | /******/ var hotCurrentModuleData = {}; |
| 78 | /******/ var hotCurrentParents = []; // eslint-disable-line no-unused-vars | 78 | /******/ var hotCurrentParents = []; // eslint-disable-line no-unused-vars |
| 79 | 79 | ||
| @@ -688,7 +688,7 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -688,7 +688,7 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 688 | 688 | ||
| 689 | var _WhiteBoardApe2 = _interopRequireDefault(_WhiteBoardApe); | 689 | var _WhiteBoardApe2 = _interopRequireDefault(_WhiteBoardApe); |
| 690 | 690 | ||
| 691 | - var _EngineUtils = __webpack_require__(35); | 691 | + var _EngineUtils = __webpack_require__(34); |
| 692 | 692 | ||
| 693 | var _EngineUtils2 = _interopRequireDefault(_EngineUtils); | 693 | var _EngineUtils2 = _interopRequireDefault(_EngineUtils); |
| 694 | 694 | ||
| @@ -809,6 +809,7 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -809,6 +809,7 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 809 | _this.leaveClass = _this._leaveClass; | 809 | _this.leaveClass = _this._leaveClass; |
| 810 | _this.getMcuClientStatus = _this._getMcuClientStatus; | 810 | _this.getMcuClientStatus = _this._getMcuClientStatus; |
| 811 | _this.getClassDetail = _this._getClassDetail; | 811 | _this.getClassDetail = _this._getClassDetail; |
| 812 | + _this.sendUpdaterClass = _this._sendUpdaterClass; | ||
| 812 | 813 | ||
| 813 | //chatApe | 814 | //chatApe |
| 814 | _this.sendChatMsg = _this._sendChatMsg; | 815 | _this.sendChatMsg = _this._sendChatMsg; |
| @@ -1177,6 +1178,8 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -1177,6 +1178,8 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 1177 | // } | 1178 | // } |
| 1178 | //} | 1179 | //} |
| 1179 | 1180 | ||
| 1181 | + | ||
| 1182 | + //ConferApe | ||
| 1180 | // 参会处理 | 1183 | // 参会处理 |
| 1181 | 1184 | ||
| 1182 | }, { | 1185 | }, { |
| @@ -1188,7 +1191,17 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -1188,7 +1191,17 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 1188 | }; | 1191 | }; |
| 1189 | this._emit(msg.type, msg); | 1192 | this._emit(msg.type, msg); |
| 1190 | } | 1193 | } |
| 1194 | + //更新会议数据 | ||
| 1195 | + | ||
| 1196 | + }, { | ||
| 1197 | + key: '_sendUpdaterClass', | ||
| 1198 | + value: function _sendUpdaterClass(_param) { | ||
| 1199 | + if (_confer_ape) { | ||
| 1200 | + _confer_ape.sendUpdaterClassInfo(_param); | ||
| 1201 | + } | ||
| 1202 | + } | ||
| 1191 | 1203 | ||
| 1204 | + //ChatApe | ||
| 1192 | // 发送聊天消息 | 1205 | // 发送聊天消息 |
| 1193 | 1206 | ||
| 1194 | }, { | 1207 | }, { |
| @@ -1544,36 +1557,15 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -1544,36 +1557,15 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 1544 | } | 1557 | } |
| 1545 | } | 1558 | } |
| 1546 | } | 1559 | } |
| 1547 | - | ||
| 1548 | - /* _emit(eid, data) { | ||
| 1549 | - if (eid) { | ||
| 1550 | - //eid=* broadcast | ||
| 1551 | - let asteriskStub =this.MAPS['*']; | ||
| 1552 | - if (asteriskStub && asteriskStub.length) { | ||
| 1553 | - asteriskStub.forEach(function (elistener) { | ||
| 1554 | - elistener(eid, data); | ||
| 1555 | - }) | ||
| 1556 | - } | ||
| 1557 | - | ||
| 1558 | - // eid= normal | ||
| 1559 | - let stub = this.MAPS[eid]; | ||
| 1560 | - if (stub && stub.length) { | ||
| 1561 | - stub.forEach(function (elistener) { | ||
| 1562 | - elistener(data); | ||
| 1563 | - }); | ||
| 1564 | - } | ||
| 1565 | - } | ||
| 1566 | - }*/ | ||
| 1567 | - | ||
| 1568 | }, { | 1560 | }, { |
| 1569 | key: '_emit', | 1561 | key: '_emit', |
| 1570 | - value: function _emit(eid, data, option) { | 1562 | + value: function _emit(eid, data) { |
| 1571 | if (eid) { | 1563 | if (eid) { |
| 1572 | //eid=* broadcast | 1564 | //eid=* broadcast |
| 1573 | var asteriskStub = this.MAPS['*']; | 1565 | var asteriskStub = this.MAPS['*']; |
| 1574 | if (asteriskStub && asteriskStub.length) { | 1566 | if (asteriskStub && asteriskStub.length) { |
| 1575 | asteriskStub.forEach(function (elistener) { | 1567 | asteriskStub.forEach(function (elistener) { |
| 1576 | - elistener(eid, data, option); | 1568 | + elistener(eid, data); |
| 1577 | }); | 1569 | }); |
| 1578 | } | 1570 | } |
| 1579 | 1571 | ||
| @@ -1581,7 +1573,7 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -1581,7 +1573,7 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 1581 | var stub = this.MAPS[eid]; | 1573 | var stub = this.MAPS[eid]; |
| 1582 | if (stub && stub.length) { | 1574 | if (stub && stub.length) { |
| 1583 | stub.forEach(function (elistener) { | 1575 | stub.forEach(function (elistener) { |
| 1584 | - elistener(data, option); | 1576 | + elistener(data); |
| 1585 | }); | 1577 | }); |
| 1586 | } | 1578 | } |
| 1587 | } | 1579 | } |
| @@ -3241,7 +3233,7 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -3241,7 +3233,7 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 3241 | 3233 | ||
| 3242 | var _ArrayBufferUtil2 = _interopRequireDefault(_ArrayBufferUtil); | 3234 | var _ArrayBufferUtil2 = _interopRequireDefault(_ArrayBufferUtil); |
| 3243 | 3235 | ||
| 3244 | - var _base64Js = __webpack_require__(34); | 3236 | + var _base64Js = __webpack_require__(35); |
| 3245 | 3237 | ||
| 3246 | var _base64Js2 = _interopRequireDefault(_base64Js); | 3238 | var _base64Js2 = _interopRequireDefault(_base64Js); |
| 3247 | 3239 | ||
| @@ -3249,7 +3241,7 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -3249,7 +3241,7 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 3249 | 3241 | ||
| 3250 | var _GlobalConfig2 = _interopRequireDefault(_GlobalConfig); | 3242 | var _GlobalConfig2 = _interopRequireDefault(_GlobalConfig); |
| 3251 | 3243 | ||
| 3252 | - var _EngineUtils = __webpack_require__(35); | 3244 | + var _EngineUtils = __webpack_require__(34); |
| 3253 | 3245 | ||
| 3254 | var _EngineUtils2 = _interopRequireDefault(_EngineUtils); | 3246 | var _EngineUtils2 = _interopRequireDefault(_EngineUtils); |
| 3255 | 3247 | ||
| @@ -14261,7 +14253,7 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -14261,7 +14253,7 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 14261 | Object.defineProperty(exports, "__esModule", { | 14253 | Object.defineProperty(exports, "__esModule", { |
| 14262 | value: true | 14254 | value: true |
| 14263 | }); | 14255 | }); |
| 14264 | - var _default = "\n//start\n// pdu_def.proto\n\n// syntax = \"proto3\";\n\noption optimize_for = LITE_RUNTIME;\nenum RCPduPriority_E {\n DP_TOP = 0;\n DP_HIGH = 1;\n DP_MEDIUM = 2;\n DP_LOW = 3;\n}\n\nenum RCPduSegment_E {\n SEG_BEGIN = 0;\n SEG_END = 1;\n SEG_ONCE = 2;\n}\n\nenum RCPduTokenStatus_E {\n TS_NOT_IN_USE = 0;\n TS_SELF_GRABBED = 1;\n TS_OTHER_GRABBED = 2;\n TS_SELF_INHIBITED = 3;\n TS_OTHER_INHIBITED = 4;\n TS_SELF_RECIPIENT = 5;\n TS_SELF_GIVING = 6;\n TS_OTHER_GIVING = 7;\n}\n\nenum RCPduType_E {\n// GCC PDU\n RCPDU_CONNECT_PROVIDER_REQUEST = 0;\n RCPDU_CONNECT_PROVIDER_RESPONSE = 1;\n RCPDU_CONFERENCE_JOIN_REQUEST = 2;\n RCPDU_CONFERENCE_JOIN_RESPONSE = 3;\n RCPDU_CONFERENCE_INVITE_REQUEST = 10;\n RCPDU_CONFERENCE_INVITE_RESPONSE = 11;\n RCPDU_CONFERENCE_LOCK_REQUEST = 20;\n RCPDU_CONFERENCE_LOCK_RESPONSE = 21;\n RCPDU_CONFERENCE_LOCK_INDICATION = 22;\n RCPDU_CONFERENCE_UNLOCK_REQUEST = 30;\n RCPDU_CONFERENCE_UNLOCK_RESPONSE = 31;\n RCPDU_CONFERENCE_UNLOCK_INDICATION = 32;\n RCPDU_CONFERENCE_LEAVE_REQUEST = 39;\n RCPDU_CONFERENCE_TERMINATE_REQUEST = 40;\n RCPDU_CONFERENCE_TERMINATE_RESPONSE = 41;\n RCPDU_CONFERENCE_TERMINATE_INDICATION = 42;\n RCPDU_CONFERENCE_EJECT_USER_REQUEST = 50;\n RCPDU_CONFERENCE_EJECT_USER_RESPONSE = 51;\n RCPDU_CONFERENCE_EJECT_USER_INDICATION = 52;\n RCPDU_ROSTER_UPDATE_INDICATION = 60;\n RCPDU_REGISTRY_UPDATE_REQUEST = 70; // INCLUDE ALL OBJS OPERATION\n RCPDU_REGISTRY_UPDATE_RESPONSE = 71;\n RCPDU_REGISTRY_UPDATE_INDICATION = 72;\n RCPDU_FUNCTION_NOT_SUPPORTED_RESPONSE = 80;\n\n // MCS PDU\n RCPDU_SESSION_JOIN_REQUEST = 90;\n RCPDU_SESSION_JOIN_RESPONSE = 91;\n RCPDU_CHANNEL_GRAB_REQUEST = 100;\n RCPDU_CHANNEL_GRAB_RESPONSE = 101;\n RCPDU_CHANNEL_GRAB_INDICATION = 102;\n RCPDU_CHANNEL_JOIN_REQUEST = 103;\n RCPDU_CHANNEL_JOIN_RESPONSE = 104;\n RCPDU_CHANNEL_LEAVE_REQUEST = 105;\n RCPDU_CHANNEL_RELEASE_REQUEST = 106;\n RCPDU_CHANNEL_RELEASE_INDICATION = 107;\n RCPDU_SEND_DATA_REQUEST = 120;\n RCPDU_SEND_DATA_INDICATION = 121;\n RCPDU_UNIFORM_SEND_DATA_REQUEST = 125;\n RCPDU_UNIFORM_SEND_DATA_INDICATION = 126;\n RCPDU_TOKEN_GRAB_REQUEST = 130;\n RCPDU_TOKEN_GRAB_CONFIRM = 131;\n RCPDU_TOKEN_INHIBIT_REQUEST = 132;\n RCPDU_TOKEN_INHIBIT_CONFIRM = 133;\n RCPDU_TOKEN_GIVE_REQUEST = 134;\n RCPDU_TOKEN_GIVE_INDICATION = 135;\n RCPDU_TOKEN_GIVE_RESPONSE = 136;\n RCPDU_TOKEN_GIVE_CONFIRM = 137;\n RCPDU_TOKEN_PLEASE_REQUEST = 138;\n RCPDU_TOKEN_PLEASE_INDICATION = 139;\n RCPDU_TOKEN_RELEASE_REQUEST = 140;\n RCPDU_TOKEN_RELEASE_CONFIRM = 141;\n RCPDU_TOKEN_TEST_REQUEST = 142;\n RCPDU_TOKEN_TEST_CONFIRM = 143;\n\n // Registry PDU\n RCPDU_REG_REGISTER_KEY = 200;\n RCPDU_REG_UNREGISTER_KEY = 201;\n RCPDU_REG_REGISTER_ROSTER = 202;\n RCPDU_REG_REGISTER_TOKEN = 203;\n RCPDU_REG_REGISTER_PARAMETER = 204;\n RCPDU_REG_REGISTER_COUNTER = 205;\n RCPDU_REG_REGISTER_TABLE = 206;\n RCPDU_REG_REGISTER_CACHE = 207;\n RCPDU_REG_REGISTER_OBJ = 208;\n RCPDU_REG_UNREGISTER_OBJ = 209;\n RCPDU_REG_UPDATE_OBJ = 210;\n RCPDU_REG_ADAPTER = 211;\n RCPDU_REG_CLEANUP_NODE = 212;\n RCPDU_REG_REGISTER_QUEUE = 213;\n\n // Registry Obj update PDU\n RCPDU_REG_TABLE_INSERT_PDU = 230;\n RCPDU_REG_TABLE_DELETE_PDU = 231;\n RCPDU_REG_TABLE_UPDATE_PDU = 232;\n RCPDU_REG_ROSTER_INSERT_PDU = 240;\n RCPDU_REG_ROSTER_DELETE_PDU = 241;\n RCPDU_REG_ROSTER_UPDATE_PDU = 242;\n RCPDU_REG_PARAMETER_UPDATE_PDU = 250;\n RCPDU_REG_QUEUE_INSERT_PDU = 255;\n RCPDU_REG_QUEUE_DELETE_PDU = 256;\n RCPDU_REG_QUEUE_UPDATE_PDU = 257;\n\n // data\n RCPDU_CONFERENCE_SEND_DATA_REQUEST = 259;\n RCPDU_VIDEO_SEND_DATA_REQUEST = 260;\n RCPDU_AUDIO_SEND_DATA_REQUEST = 261;\n RCPDU_GIFT_SEND_DATA_REQUEST = 262;\n RCPDU_CHAT_SEND_DATA_REQUEST = 263;\n RCPDU_VOTING_POLL_RECORD = 265;\n\n // Registry resource request or response PDU\n RCPDU_REG_REQUEST_OBJ = 290;\n RCPDU_REG_RESPONSE_OBJ = 291;\n RCPDU_REG_COUNTER_REQUEST_PDU = 292;\n RCPDU_REG_COUNTER_RESPONSE_PDU = 293;\n\n // Index exchange\n RCPDU_INDEX_ADAPTER = 300;\n RCPDU_INDEX_SERVER_USERS = 301;\n RCPDU_INDEX_CONFERENCE_USER_JOINED = 302;\n RCPDU_INDEX_CONFERENCE_USER_EXITED = 303;\n RCPDU_INDEX_CONFERENCE_USERS = 304;\n}\n\nenum RCPduNodeType_E {\n NT_TERMINAL = 0;\n NT_MULTIPORT_TERMINAL = 1;\n NT_MCU = 2;\n}\n\nenum RCPduReason_E {\n RSN_USERINITIATED = 0;\n RSN_DISCONNECTED = 1;\n RSN_SUPER_LEFT = 2;\n}\n\nenum RCPduResult_E {\n RET_SUCCESS = 0;\n RET_USER_REJECTED = 1;\n RET_INVALID_CONFERENCE = 2;\n RET_INVALID_PASSWORD = 3;\n RET_INVALID_CONVENER_PASSWORD = 4;\n RET_CHALLENGE_RESPONSE_REQUIRED = 5;\n RET_INVALID_CHALLENGE_RESPONSE = 6;\n RET_NO_CONNECTION = 7;\n RET_FULL_CAPACITY = 8;\n}\n\nenum RCPduNodeCategory_E {\n NC_CONVENTIONAL = 0;\n NC_COUNTED = 1;\n NC_ANONYMOUS = 2;\n}\n\nmessage RCConferenceDescriptorPdu {\n required uint32 id = 1;\n required bytes name = 2;\n optional bytes description = 3;\n //optional string net_address = 4;\n optional uint32 mode = 4;\n optional string password = 5;\n optional uint32 capacity = 6;\n optional bytes user_data = 7;\n}\n\nmessage RCNodeRecordPdu {\n required uint32 id = 1;\n optional uint32 superior_node = 2;\n required RCPduNodeType_E type = 3;\n required string name = 4;\n required uint32 capability = 5;\n optional string net_address = 6;\n optional RCPduNodeCategory_E category = 7;\n}\n\nmessage RCApplicationRecordPdu {\n required uint32 id = 1; // session id\n required string name = 2;\n required string tag = 3;\n repeated uint32 channel_ids = 4 [packed = true];\n optional uint32 capability = 5;\n}\n\n//reg.proto\n\noption optimize_for = LITE_RUNTIME;\nmessage RCRegistryRegisterKeyPdu {\n required RCPduType_E type = 1 [default = RCPDU_REG_REGISTER_KEY];\n required uint32 id = 2;\n required string name = 3;\n required string tag = 4;\n optional bytes user_data = 5;\n}\n\nmessage RCRegistryUnregisterKeyPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_UNREGISTER_KEY];\n required uint32 key_id = 2;\n}\n\nmessage RCRegistryRegisterObjPdu {\n optional RCPduType_E type = 1;\n required uint32 obj_id = 2;\n required string name = 3;\n required string tag = 4;\n optional uint32 owner = 5;\n optional bytes user_data = 6;\n}\n\nmessage RCRegistryUnregisterObjPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_UNREGISTER_OBJ];\n required uint32 obj_id = 2;\n}\n\nmessage RCRegistryUpdateObjPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_UPDATE_OBJ];\n required RCPduType_E sub_type = 2;\n required uint32 obj_id = 3;\n required bytes user_data = 4;\n}\n\nmessage RCAdapterItemPdu {\n required RCPduType_E type = 1;\n required bytes item_data = 2;\n}\n\n// adapter pdu that used to package a list of pdu.\nmessage RCAdapterPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_ADAPTER];\n repeated RCAdapterItemPdu item = 2;\n}\n\n// table operation pdu\nmessage RCRegistryTableItemPdu {\n required uint32 item_idx = 1;\n required uint32 owner = 2;\n required bytes item_data = 3;\n optional uint32 register_obj_id=4;\n}\n\nmessage RCRegistryTableInsertItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_TABLE_INSERT_PDU];\n repeated RCRegistryTableItemPdu items = 2;\n}\n\nmessage RCRegistryTableDeleteItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_TABLE_DELETE_PDU];\n repeated uint32 item_idx = 2;\n}\n\nmessage RCRegistryTableUpdateItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_TABLE_UPDATE_PDU];\n repeated RCRegistryTableItemPdu items = 2;\n}\n\n// roster operation pdu\nmessage RCRegistryRosterItemPdu {\n required uint32 node_id = 1;\n required bytes node_data = 2;\n}\nmessage RCRegistryWBItemPdu {\n required uint32 node_id = 1;\n required bytes node_data = 2;\n}\nmessage RCRegistryRosterInsertItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_ROSTER_INSERT_PDU];\n repeated RCRegistryRosterItemPdu items = 2;\n}\n\nmessage RCRegistryRosterDeleteItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_ROSTER_DELETE_PDU];\n required uint32 node_id = 2;\n}\n\nmessage RCRegistryRosterUpdateItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_ROSTER_UPDATE_PDU];\n repeated RCRegistryRosterItemPdu items = 2;\n}\n\n//message RCCleanupNodePdu\n//{\n// optional RCPduType_E type = 1 [default = RCPDU_REG_CLEANUP_NODE];\n// required uint32 node_id = 2;\n//}\n\n// parameter operation pdu\nmessage RCRegistryParameterUpdatePdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_PARAMETER_UPDATE_PDU];\n required uint32 value = 2 [default = 0];\n optional uint32 begin_bit = 3 [default = 31];\n optional uint32 end_bit = 4;\n}\n\n// queue operation pdu\nmessage RCRegistryQueueItemPdu {\n required uint32 owner = 1;\n required uint32 item_id = 2;\n optional bytes item_data = 3;\n optional uint32 item_idx = 4;\n}\n\nmessage RCRegstryQueueInsertItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_QUEUE_INSERT_PDU];\n repeated RCRegistryQueueItemPdu items = 2;\n}\n\nmessage RCRegistryQueueDeleteItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_QUEUE_DELETE_PDU];\n required uint32 item_id = 2;\n}\n\nmessage RCRegistryQueueUpdateItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_QUEUE_UPDATE_PDU];\n repeated RCRegistryQueueItemPdu items = 2;\n}\n\nmessage RCRegistryRequestObjPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_REQUEST_OBJ];\n required RCPduType_E sub_type = 2;\n required uint32 obj_id = 3;\n required bytes user_data = 4;\n}\n\nmessage RCRegistryResponseObjPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_RESPONSE_OBJ];\n required RCPduType_E sub_type = 2;\n required uint32 obj_id = 3;\n required bytes user_data = 4;\n}\n\nmessage RCRegistryCounterRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_COUNTER_REQUEST_PDU];\n required uint32 count = 2;\n}\n\nmessage RCRegistryCounterResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_COUNTER_RESPONSE_PDU];\n required uint32 start = 2;\n required uint32 end = 3;\n}\n\n// mcs\noption optimize_for = LITE_RUNTIME;\n\n// Session management\nmessage RCSessionJoinRequestPdu {\n required RCPduType_E type = 1 [default = RCPDU_SESSION_JOIN_REQUEST];\n required uint32 id = 2;\n required string name = 3;\n required string tag = 4;\n optional bytes session_data = 5; //\u805A\u5408\u5728\u4E00\u8D77\u7684registry\u4FE1\u606F\n}\n\nmessage RCSessionJoinResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_SESSION_JOIN_RESPONSE];\n required uint32 id = 2;\n optional bytes response_data = 3;\n}\n\n// Channel management\nmessage RCChannelGrabRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CHANNEL_GRAB_REQUEST];\n required uint32 initiator = 2;\n required uint32 channel_id = 3;\n}\n\nmessage RCChannelGrabResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_CHANNEL_GRAB_RESPONSE];\n required uint32 initiator = 2;\n required uint32 requested_channel_id = 3;\n required RCPduResult_E result = 4;\n optional uint32 channel_id = 5;\n}\n\nmessage RCChannelGrabIndicationPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CHANNEL_GRAB_INDICATION];\n required uint32 initiator = 2;\n optional uint32 channel_id = 3;\n}\n\nmessage RCChannelJoinRequestPdu {\n required RCPduType_E type = 1 [default = RCPDU_CHANNEL_JOIN_REQUEST];\n required uint32 initiator = 2;\n required uint32 channel_id = 3;\n}\n\nmessage RCChannelJoinResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_CHANNEL_JOIN_RESPONSE];\n required uint32 initiator = 2;\n required uint32 requested_channel_id = 3;\n required RCPduResult_E result = 4;\n}\n\nmessage RCChannelLeaveRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CHANNEL_LEAVE_REQUEST];\n required uint32 initiator = 2;\n repeated uint32 channel_ids = 3 [packed = true];\n}\n\nmessage RCChannelReleaseRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CHANNEL_RELEASE_REQUEST];\n required uint32 initiator = 2;\n required uint32 channel_id = 3;\n}\n\nmessage RCChannelReleaseIndicationPdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CHANNEL_RELEASE_INDICATION];\n required uint32 initiator = 2;\n required uint32 channel_id = 3;\n}\n\n// Data transfer\nmessage RCSendDataPdu {\n required RCPduType_E type = 1 [default = RCPDU_SEND_DATA_REQUEST];\n required RCPduType_E sub_type = 2;\n required uint32 initiator = 3;\n required uint32 conf_id = 4;\n required uint32 session_id = 5;\n required uint32 channel_id = 6;\n required bool upward = 7;\n required bool reliability = 8;\n required RCPduPriority_E priority = 9;\n required bytes data = 10;\n optional uint32 peer = 11;\n optional RCPduSegment_E seg = 12;\n optional uint32 total_size = 13;\n optional uint32 site_id = 14;\n optional string user_id = 15;\n optional string user_name = 16;\n optional string user_role = 17;\n optional string device_type = 18;\n optional string site = 19;\n}\n\n// Token management\nmessage RCTokenGrabRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_GRAB_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n}\n\nmessage RCTokenGrabConfirmPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_GRAB_CONFIRM];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n required RCPduResult_E result = 4;\n required RCPduTokenStatus_E status = 5;\n}\n\nmessage RCTokenInhibitRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_INHIBIT_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n}\n\nmessage RCTokenInhibitConfirmPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_INHIBIT_CONFIRM];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n required RCPduResult_E result = 4;\n required RCPduTokenStatus_E status = 5;\n}\n\nmessage RCTokenGiveRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_GIVE_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n required uint64 recipient = 4;\n}\n\nmessage RCTokenGiveIndicationPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_GIVE_INDICATION];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n required uint64 recipient = 4;\n}\n\nmessage RCTokenGiveResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_GIVE_RESPONSE];\n required uint32 token_id = 2;\n required uint64 recipient = 3;\n required RCPduResult_E result = 4;\n}\n\nmessage RCTokenGiveConfirmPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_GIVE_CONFIRM];\n required uint32 token_id = 2;\n required uint64 recipient = 3;\n required RCPduResult_E result = 4;\n required RCPduTokenStatus_E status = 5;\n}\n\nmessage RCTokenPleaseRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_PLEASE_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n}\n\nmessage RCTokenPleaseIndicationPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_PLEASE_INDICATION];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n}\n\nmessage RCTokenReleaseRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_RELEASE_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n}\n\nmessage RCTokenReleaseConfirmPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_TEST_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n required RCPduResult_E result = 4;\n required RCPduTokenStatus_E status = 5;\n}\n\nmessage RCTokenTestRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_TEST_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n}\n\nmessage RCTokenTestConfirmPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_TEST_CONFIRM];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n required RCPduTokenStatus_E status = 4;\n}\n\n//gcc.proto\n\noption optimize_for = LITE_RUNTIME;\nmessage RCConferenceJoinRequestPdu {\n required RCPduType_E type = 1 [default = RCPDU_CONFERENCE_JOIN_REQUEST];\n required uint32 initiator = 2;\n required RCPduNodeType_E node_type = 3;\n required RCConferenceDescriptorPdu conf_desc = 4;\n}\n\nmessage RCConferenceJoinResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_CONFERENCE_JOIN_RESPONSE];\n required uint32 conf_id = 2;\n required RCPduResult_E result = 3;\n optional RCConferenceDescriptorPdu conf_desc = 4;\n}\n\nmessage RCConferenceInviteRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CONFERENCE_INVITE_REQUEST];\n required uint32 initiator = 2;\n required RCConferenceDescriptorPdu conf_desc = 3;\n}\n\nmessage RCConferenceInviteResponsePdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_INVITE_RESPONSE];\n required RCPduResult_E result = 2;\n optional bytes user_data = 3;\n}\n\nmessage RCConferenceLockRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CONFERENCE_LOCK_REQUEST];\n}\n\nmessage RCConferenceLockResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_CONFERENCE_LOCK_RESPONSE];\n required RCPduResult_E result = 2;\n}\n\nmessage RCConferenceLockIndicationPdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_LOCK_INDICATION];\n}\n\nmessage RCConferenceUnlockRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CONFERENCE_UNLOCK_REQUEST];\n}\n\nmessage RCConferenceUnlockResponsePdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_UNLOCK_RESPONSE];\n required RCPduResult_E result = 2;\n}\n\nmessage RCConferenceUnlockIndicationPdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_UNLOCK_INDICATION];\n}\n\nmessage RCConferenceLeaveRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CONFERENCE_LEAVE_REQUEST];\n required RCPduReason_E reason = 2;\n}\n\nmessage RCConferenceTerminateRequestPdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_TERMINATE_REQUEST];\n required RCPduReason_E reason = 2;\n}\n\nmessage RCConferenceTerminateResponsePdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_TERMINATE_RESPONSE];\n required RCPduResult_E result = 2;\n}\n\nmessage RCConferenceTerminateIndicationPdu { // MCS_Uniform_Send_Data on GCC_Broadcast_Channel\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_TERMINATE_INDICATION];\n required RCPduReason_E reason = 2;\n}\n\nmessage RCConferenceEjectUserRequestPdu { // MCS_Send_Data on Node ID Channel of Top GCC\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_EJECT_USER_REQUEST];\n required uint32 ejected_node_id = 2;\n required RCPduReason_E reason = 3;\n}\n\nmessage RCConferenceEjectUserResponsePdu { // MCS_Send_Data on Node ID Channel of requester\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_EJECT_USER_RESPONSE];\n required uint32 ejected_node_id = 2;\n required RCPduResult_E result = 3;\n}\n\nmessage RCConferenceEjectUserIndicationPdu { // MCS_Uniform_Send_Data on GCC_Broadcast_Channel\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_EJECT_USER_INDICATION];\n required uint32 ejected_node_id = 2;\n required RCPduReason_E reason = 3;\n}\n\nmessage RCRosterUpdateIndicationPdu { // MCS_Send_Data on Node ID Channel or\n// MCS_Uniform_Send_Data on GCC_Broadcast_Channel\n optional RCPduType_E type = 1 [default = RCPDU_ROSTER_UPDATE_INDICATION];\n required bool full_refresh = 2; // Conference Roster and all\n repeated RCNodeRecordPdu node_record = 3;\n repeated RCApplicationRecordPdu app_record = 4;\n}\n\nmessage RCRegistryUpdateRequestPdu { // MCS_Send_Data on Node ID Channel of Top GCC\n optional RCPduType_E type = 1 [default = RCPDU_REGISTRY_UPDATE_REQUEST];\n required uint32 key_id = 2;\n required uint32 obj_id = 3;\n required bytes user_data = 4;\n}\n\nmessage RCRegistryUpdateIndicationPdu { // MCS_Send_Data on Node ID Channel of Top GCC\n optional RCPduType_E type = 1 [default = RCPDU_REGISTRY_UPDATE_RESPONSE];\n required uint32 key_id = 2;\n required uint32 obj_id = 3;\n required bytes user_data = 4;\n}\n\nmessage RCRegistryUpdateResponsePdu { // MCS_Send_Data on Node ID Channel of requester\n optional RCPduType_E type = 1 [default = RCPDU_REGISTRY_UPDATE_INDICATION];\n required uint32 key_id = 2;\n required uint32 obj_id = 3;\n required RCPduResult_E result = 4;\n}\n\nmessage RCFunctionNotSupportedResponsePdu {\n optional RCPduType_E type = 1\n [default = RCPDU_FUNCTION_NOT_SUPPORTED_RESPONSE];\n required uint32 request_pdu_id = 2;\n}\n\n//ape.proto\n\noption optimize_for = LITE_RUNTIME;\nmessage RCConferenceSendDataRequestPdu {\n optional uint32 initiator = 1;\n optional uint32 peer = 2;\n required bool is_public = 3;\n required bytes user_data = 4;\n}\n\nmessage RCChatSendDataRequestPdu {\n optional uint32 initiator = 1;\n optional uint32 peer = 2;\n required bool is_public = 3;\n required bytes user_data = 4;\n required string from_role = 5;\n required bytes from_name = 6;\n}\n\nmessage RCDocSendDataRequestPdu {\n required uint32 id = 1;\n required string doc_type = 2;\n required string uri = 3;\n optional uint32 owner = 4;\n optional uint32 from = 5;\n optional string name = 6;\n optional uint32 cur_page_no = 7;\n optional uint32 cur_H = 8;\n optional uint32 cur_V = 9;\n optional uint32 scale = 10;\n optional uint32 page_num = 11;\n}\nmessage RCDocSendDataModelPdu {\n required uint32 item_idx=1;//\u552F\u4E00\u6807\u8BC6\n required uint32 owner=2;\n optional uint32 from=3;\n optional uint32 cur_page_no=4;\n optional uint32 page_num =5;\n optional string file_type=6;\n optional string creat_user_id=7;//\u521B\u5EFA\u6587\u6863userid\n optional string relative_url=8;//\u6587\u6863\u76F8\u5BF9\u5730\u5740\n optional string url =9;//\u6587\u6863\u5730\u5740\n optional uint32 cur_V=10;\n optional uint32 cur_H=11;\n optional uint32 scale=12;\n optional bool visible=13;\n optional uint32 action=14;//0\uFF0C\u65E0\u64CD\u4F5C\uFF0C 1\u7FFB\u9875\u30012.\u663E\u793A/\u9690\u85CF\n optional string doc_id=15;//\u6587\u6863\u5728\u670D\u52A1\u5668\u6570\u636E\u5E93\u4E2D\u7684\u552F\u4E00id\n optional string file_name=16;//\u6587\u6863\u7684\u540D\u5B57\n optional string dynamic_TS=17;//\"dynamicTransferStatic\": \"0\"\n optional string md5=18;//md5\n\n}\nmessage RCGiftSendDataRequestPdu {\n optional uint32 initiator = 1;\n required uint32 peer = 2;\n required uint32 index = 3;\n required uint32 num = 4;\n optional bytes user_data = 5;\n}\n\nmessage RCAudioSendDataRequestPdu {\n optional uint32 initiator = 1;\n required bytes user_data = 2;\n}\n\nmessage RCVideoSendDataRequestPdu {\n optional uint32 initiator = 1;\n required bool key_frame = 2;\n required uint32 sequence_id = 3;\n required uint32 slice_id = 4;\n required bytes user_data = 5;\n}\n\nmessage RCAudioChannelInfoRecordPdu {\n required uint32 status = 1;\n required uint32 device_id = 2;\n required uint32 framerate = 3;\n required uint32 bitrate = 4;\n required uint32 codec = 5;\n}\n\nmessage RCVideoChannelInfoRecordPdu {\n optional uint32 status = 1;\n optional uint32 device_id = 2;\n optional uint32 width = 3;\n optional uint32 height = 4;\n optional uint32 framerate = 5;\n optional uint32 bitrate = 6;\n optional uint32 codec = 7;\n optional string peer_id = 8;\n optional string url = 9;\n optional uint32 type = 10;\n optional string shamlive = 11;\n optional uint32 livetype = 12;\n optional uint32 releaseGrab = 13;\n optional string curTime = 14;\n}\n\nmessage RCAudioDeviceInfoRecordPdu {\n required uint32 device_id = 1;\n required string device_name = 2;\n}\n\nmessage RCVideoDeviceInfoRecordPdu {\n required uint32 device_id = 1;\n required string device_name = 2;\n}\n\nmessage RCNodeInfoRecordPdu {\n required uint32 node_id = 1;\n required string name = 2;\n required uint32 role = 3;\n required uint32 level = 4;\n repeated RCAudioDeviceInfoRecordPdu audio_records = 5;\n repeated RCVideoDeviceInfoRecordPdu video_records = 6;\n optional uint32 status = 7;\n optional bytes user_data = 8;\n optional string user_id = 9;\n optional uint32 handUpTime = 10;\n optional uint32 deviceType = 11;\n optional uint32 mobileDirection = 12;\n}\n\nmessage RCVotingPollSettingsPdu {\n required bool timer = 1;\n optional uint32 time_limit = 2;\n optional uint32 total_score = 3;\n}\n\nmessage RCVotingPollResultPdu {\n required string title = 1;\n required string content = 2;\n optional uint32 score = 3;\n}\n\nmessage RCVotingPollQuestionPdu {\n required uint32 index = 1;\n required uint32 type = 2;\n required string title = 3;\n repeated string options = 4;\n optional uint32 score = 5;\n optional uint32 time_limit = 6;\n optional string restrict_input = 7;\n optional uint32 char_limit = 8;\n optional string answer = 9;\n repeated uint32 selections = 10;\n repeated string responses = 11;\n}\n\nmessage RCVotingPollRecordPdu {\n required RCVotingPollSettingsPdu settings = 1;\n required string title = 2;\n repeated RCVotingPollResultPdu results = 3;\n repeated RCVotingPollQuestionPdu questions = 4;\n}\n\nmessage RCNodeInfoUserDataPdu {\n optional string qq = 1;\n optional string skype = 2;\n optional string mobile = 3;\n}\nmessage RCTabUpdateDataRequestPdu {\n optional uint32 id = 1;\n optional bytes action = 2;\n optional uint32 uncomprLen =3;\n}\n\nmessage RCWhiteBoardDataModel {\n required uint32 type= 1;//\u767D\u677F\u7C7B\u578B\n required uint32 itemIdx= 2;//itemIdx \u6BCF\u4E00\u6B21\u7ED8\u5236\u7684\u552F\u4E00\u6807\u8BC6\n required uint32 initiator=3; //\u7ED8\u5236\u6765\u81EA\u8C01\n required uint32 parentId=4; //\u7236\u7EA7\u7684id\n required uint32 curPage= 5;//\u9875\u7801\n optional string pointGroup=6; //\u5750\u6807\u70B9\u96C6\u6570\u7EC4\u7684JSON\u5B57\u7B26\u4E32\n optional string color=7 [default = \"#000000\"]; //\u989C\u8272\n optional uint32 thickness= 8 ;//\u7EBF\u6761\u7C97\u7EC6\n optional uint32 radius= 9;//\u56ED\u7684\u534A\u5F84\n optional uint32 fontSize= 10;//\u5B57\u4F53\u5927\u5C0F\n optional string fontName= 11;//\u5B57\u4F53\u540D\u79F0\n optional string text= 12;//\u6587\u672C\u5185\u5BB9\n optional bytes data = 13;//\u6682\u65F6\u9884\u7559\u7684\u53C2\u6570\n}\n\n\n//end\n"; | 14256 | + var _default = "\n//start\n// pdu_def.proto\n\n// syntax = \"proto3\";\n\noption optimize_for = LITE_RUNTIME;\nenum RCPduPriority_E {\n DP_TOP = 0;\n DP_HIGH = 1;\n DP_MEDIUM = 2;\n DP_LOW = 3;\n}\n\nenum RCPduSegment_E {\n SEG_BEGIN = 0;\n SEG_END = 1;\n SEG_ONCE = 2;\n}\n\nenum RCPduTokenStatus_E {\n TS_NOT_IN_USE = 0;\n TS_SELF_GRABBED = 1;\n TS_OTHER_GRABBED = 2;\n TS_SELF_INHIBITED = 3;\n TS_OTHER_INHIBITED = 4;\n TS_SELF_RECIPIENT = 5;\n TS_SELF_GIVING = 6;\n TS_OTHER_GIVING = 7;\n}\n\nenum RCPduType_E {\n// GCC PDU\n RCPDU_CONNECT_PROVIDER_REQUEST = 0;\n RCPDU_CONNECT_PROVIDER_RESPONSE = 1;\n RCPDU_CONFERENCE_JOIN_REQUEST = 2;\n RCPDU_CONFERENCE_JOIN_RESPONSE = 3;\n RCPDU_CONFERENCE_INVITE_REQUEST = 10;\n RCPDU_CONFERENCE_INVITE_RESPONSE = 11;\n RCPDU_CONFERENCE_LOCK_REQUEST = 20;\n RCPDU_CONFERENCE_LOCK_RESPONSE = 21;\n RCPDU_CONFERENCE_LOCK_INDICATION = 22;\n RCPDU_CONFERENCE_UNLOCK_REQUEST = 30;\n RCPDU_CONFERENCE_UNLOCK_RESPONSE = 31;\n RCPDU_CONFERENCE_UNLOCK_INDICATION = 32;\n RCPDU_CONFERENCE_LEAVE_REQUEST = 39;\n RCPDU_CONFERENCE_TERMINATE_REQUEST = 40;\n RCPDU_CONFERENCE_TERMINATE_RESPONSE = 41;\n RCPDU_CONFERENCE_TERMINATE_INDICATION = 42;\n RCPDU_CONFERENCE_EJECT_USER_REQUEST = 50;\n RCPDU_CONFERENCE_EJECT_USER_RESPONSE = 51;\n RCPDU_CONFERENCE_EJECT_USER_INDICATION = 52;\n RCPDU_ROSTER_UPDATE_INDICATION = 60;\n RCPDU_REGISTRY_UPDATE_REQUEST = 70; // INCLUDE ALL OBJS OPERATION\n RCPDU_REGISTRY_UPDATE_RESPONSE = 71;\n RCPDU_REGISTRY_UPDATE_INDICATION = 72;\n RCPDU_FUNCTION_NOT_SUPPORTED_RESPONSE = 80;\n\n // MCS PDU\n RCPDU_SESSION_JOIN_REQUEST = 90;\n RCPDU_SESSION_JOIN_RESPONSE = 91;\n RCPDU_CHANNEL_GRAB_REQUEST = 100;\n RCPDU_CHANNEL_GRAB_RESPONSE = 101;\n RCPDU_CHANNEL_GRAB_INDICATION = 102;\n RCPDU_CHANNEL_JOIN_REQUEST = 103;\n RCPDU_CHANNEL_JOIN_RESPONSE = 104;\n RCPDU_CHANNEL_LEAVE_REQUEST = 105;\n RCPDU_CHANNEL_RELEASE_REQUEST = 106;\n RCPDU_CHANNEL_RELEASE_INDICATION = 107;\n RCPDU_SEND_DATA_REQUEST = 120;\n RCPDU_SEND_DATA_INDICATION = 121;\n RCPDU_UNIFORM_SEND_DATA_REQUEST = 125;\n RCPDU_UNIFORM_SEND_DATA_INDICATION = 126;\n RCPDU_TOKEN_GRAB_REQUEST = 130;\n RCPDU_TOKEN_GRAB_CONFIRM = 131;\n RCPDU_TOKEN_INHIBIT_REQUEST = 132;\n RCPDU_TOKEN_INHIBIT_CONFIRM = 133;\n RCPDU_TOKEN_GIVE_REQUEST = 134;\n RCPDU_TOKEN_GIVE_INDICATION = 135;\n RCPDU_TOKEN_GIVE_RESPONSE = 136;\n RCPDU_TOKEN_GIVE_CONFIRM = 137;\n RCPDU_TOKEN_PLEASE_REQUEST = 138;\n RCPDU_TOKEN_PLEASE_INDICATION = 139;\n RCPDU_TOKEN_RELEASE_REQUEST = 140;\n RCPDU_TOKEN_RELEASE_CONFIRM = 141;\n RCPDU_TOKEN_TEST_REQUEST = 142;\n RCPDU_TOKEN_TEST_CONFIRM = 143;\n\n // Registry PDU\n RCPDU_REG_REGISTER_KEY = 200;\n RCPDU_REG_UNREGISTER_KEY = 201;\n RCPDU_REG_REGISTER_ROSTER = 202;\n RCPDU_REG_REGISTER_TOKEN = 203;\n RCPDU_REG_REGISTER_PARAMETER = 204;\n RCPDU_REG_REGISTER_COUNTER = 205;\n RCPDU_REG_REGISTER_TABLE = 206;\n RCPDU_REG_REGISTER_CACHE = 207;\n RCPDU_REG_REGISTER_OBJ = 208;\n RCPDU_REG_UNREGISTER_OBJ = 209;\n RCPDU_REG_UPDATE_OBJ = 210;\n RCPDU_REG_ADAPTER = 211;\n RCPDU_REG_CLEANUP_NODE = 212;\n RCPDU_REG_REGISTER_QUEUE = 213;\n\n // Registry Obj update PDU\n RCPDU_REG_TABLE_INSERT_PDU = 230;\n RCPDU_REG_TABLE_DELETE_PDU = 231;\n RCPDU_REG_TABLE_UPDATE_PDU = 232;\n RCPDU_REG_ROSTER_INSERT_PDU = 240;\n RCPDU_REG_ROSTER_DELETE_PDU = 241;\n RCPDU_REG_ROSTER_UPDATE_PDU = 242;\n RCPDU_REG_PARAMETER_UPDATE_PDU = 250;\n RCPDU_REG_QUEUE_INSERT_PDU = 255;\n RCPDU_REG_QUEUE_DELETE_PDU = 256;\n RCPDU_REG_QUEUE_UPDATE_PDU = 257;\n\n // data\n RCPDU_CONFERENCE_SEND_DATA_REQUEST = 259;\n RCPDU_VIDEO_SEND_DATA_REQUEST = 260;\n RCPDU_AUDIO_SEND_DATA_REQUEST = 261;\n RCPDU_GIFT_SEND_DATA_REQUEST = 262;\n RCPDU_CHAT_SEND_DATA_REQUEST = 263;\n RCPDU_VOTING_POLL_RECORD = 265;\n\n // Registry resource request or response PDU\n RCPDU_REG_REQUEST_OBJ = 290;\n RCPDU_REG_RESPONSE_OBJ = 291;\n RCPDU_REG_COUNTER_REQUEST_PDU = 292;\n RCPDU_REG_COUNTER_RESPONSE_PDU = 293;\n\n // Index exchange\n RCPDU_INDEX_ADAPTER = 300;\n RCPDU_INDEX_SERVER_USERS = 301;\n RCPDU_INDEX_CONFERENCE_USER_JOINED = 302;\n RCPDU_INDEX_CONFERENCE_USER_EXITED = 303;\n RCPDU_INDEX_CONFERENCE_USERS = 304;\n}\n\nenum RCPduNodeType_E {\n NT_TERMINAL = 0;\n NT_MULTIPORT_TERMINAL = 1;\n NT_MCU = 2;\n}\n\nenum RCPduReason_E {\n RSN_USERINITIATED = 0;\n RSN_DISCONNECTED = 1;\n RSN_SUPER_LEFT = 2;\n}\n\nenum RCPduResult_E {\n RET_SUCCESS = 0;\n RET_USER_REJECTED = 1;\n RET_INVALID_CONFERENCE = 2;\n RET_INVALID_PASSWORD = 3;\n RET_INVALID_CONVENER_PASSWORD = 4;\n RET_CHALLENGE_RESPONSE_REQUIRED = 5;\n RET_INVALID_CHALLENGE_RESPONSE = 6;\n RET_NO_CONNECTION = 7;\n RET_FULL_CAPACITY = 8;\n}\n\nenum RCPduNodeCategory_E {\n NC_CONVENTIONAL = 0;\n NC_COUNTED = 1;\n NC_ANONYMOUS = 2;\n}\n\nmessage RCConferenceDescriptorPdu {\n required uint32 id = 1;\n required bytes name = 2;\n optional bytes description = 3;\n //optional string net_address = 4;\n optional uint32 mode = 4;\n optional string password = 5;\n optional uint32 capacity = 6;\n optional bytes user_data = 7;\n}\n\nmessage RCNodeRecordPdu {\n required uint32 id = 1;\n optional uint32 superior_node = 2;\n required RCPduNodeType_E type = 3;\n required string name = 4;\n required uint32 capability = 5;\n optional string net_address = 6;\n optional RCPduNodeCategory_E category = 7;\n}\n\nmessage RCApplicationRecordPdu {\n required uint32 id = 1; // session id\n required string name = 2;\n required string tag = 3;\n repeated uint32 channel_ids = 4 [packed = true];\n optional uint32 capability = 5;\n}\n\n//reg.proto\n\noption optimize_for = LITE_RUNTIME;\nmessage RCRegistryRegisterKeyPdu {\n required RCPduType_E type = 1 [default = RCPDU_REG_REGISTER_KEY];\n required uint32 id = 2;\n required string name = 3;\n required string tag = 4;\n optional bytes user_data = 5;\n}\n\nmessage RCRegistryUnregisterKeyPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_UNREGISTER_KEY];\n required uint32 key_id = 2;\n}\n\nmessage RCRegistryRegisterObjPdu {\n optional RCPduType_E type = 1;\n required uint32 obj_id = 2;\n required string name = 3;\n required string tag = 4;\n optional uint32 owner = 5;\n optional bytes user_data = 6;\n}\n\nmessage RCRegistryUnregisterObjPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_UNREGISTER_OBJ];\n required uint32 obj_id = 2;\n}\n\nmessage RCRegistryUpdateObjPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_UPDATE_OBJ];\n required RCPduType_E sub_type = 2;\n required uint32 obj_id = 3;\n required bytes user_data = 4;\n}\n\nmessage RCAdapterItemPdu {\n required RCPduType_E type = 1;\n required bytes item_data = 2;\n}\n\n// adapter pdu that used to package a list of pdu.\nmessage RCAdapterPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_ADAPTER];\n repeated RCAdapterItemPdu item = 2;\n}\n\n// table operation pdu\nmessage RCRegistryTableItemPdu {\n required uint32 item_idx = 1;\n required uint32 owner = 2;\n required bytes item_data = 3;\n optional uint32 register_obj_id=4;\n}\n\nmessage RCRegistryTableInsertItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_TABLE_INSERT_PDU];\n repeated RCRegistryTableItemPdu items = 2;\n}\n\nmessage RCRegistryTableDeleteItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_TABLE_DELETE_PDU];\n repeated uint32 item_idx = 2;\n}\n\nmessage RCRegistryTableUpdateItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_TABLE_UPDATE_PDU];\n repeated RCRegistryTableItemPdu items = 2;\n}\n\n// roster operation pdu\nmessage RCRegistryRosterItemPdu {\n required uint32 node_id = 1;\n required bytes node_data = 2;\n}\nmessage RCRegistryWBItemPdu {\n required uint32 node_id = 1;\n required bytes node_data = 2;\n}\nmessage RCRegistryRosterInsertItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_ROSTER_INSERT_PDU];\n repeated RCRegistryRosterItemPdu items = 2;\n}\n\nmessage RCRegistryRosterDeleteItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_ROSTER_DELETE_PDU];\n required uint32 node_id = 2;\n}\n\nmessage RCRegistryRosterUpdateItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_ROSTER_UPDATE_PDU];\n repeated RCRegistryRosterItemPdu items = 2;\n}\n\n//message RCCleanupNodePdu\n//{\n// optional RCPduType_E type = 1 [default = RCPDU_REG_CLEANUP_NODE];\n// required uint32 node_id = 2;\n//}\n\n// parameter operation pdu\nmessage RCRegistryParameterUpdatePdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_PARAMETER_UPDATE_PDU];\n required uint32 value = 2 [default = 0];\n optional uint32 begin_bit = 3 [default = 31];\n optional uint32 end_bit = 4;\n}\n\n// queue operation pdu\nmessage RCRegistryQueueItemPdu {\n required uint32 owner = 1;\n required uint32 item_id = 2;\n optional bytes item_data = 3;\n optional uint32 item_idx = 4;\n}\n\nmessage RCRegstryQueueInsertItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_QUEUE_INSERT_PDU];\n repeated RCRegistryQueueItemPdu items = 2;\n}\n\nmessage RCRegistryQueueDeleteItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_QUEUE_DELETE_PDU];\n required uint32 item_id = 2;\n}\n\nmessage RCRegistryQueueUpdateItemPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_QUEUE_UPDATE_PDU];\n repeated RCRegistryQueueItemPdu items = 2;\n}\n\nmessage RCRegistryRequestObjPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_REQUEST_OBJ];\n required RCPduType_E sub_type = 2;\n required uint32 obj_id = 3;\n required bytes user_data = 4;\n}\n\nmessage RCRegistryResponseObjPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_RESPONSE_OBJ];\n required RCPduType_E sub_type = 2;\n required uint32 obj_id = 3;\n required bytes user_data = 4;\n}\n\nmessage RCRegistryCounterRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_COUNTER_REQUEST_PDU];\n required uint32 count = 2;\n}\n\nmessage RCRegistryCounterResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_REG_COUNTER_RESPONSE_PDU];\n required uint32 start = 2;\n required uint32 end = 3;\n}\n\n// mcs\noption optimize_for = LITE_RUNTIME;\n\n// Session management\nmessage RCSessionJoinRequestPdu {\n required RCPduType_E type = 1 [default = RCPDU_SESSION_JOIN_REQUEST];\n required uint32 id = 2;\n required string name = 3;\n required string tag = 4;\n optional bytes session_data = 5; //\u805A\u5408\u5728\u4E00\u8D77\u7684registry\u4FE1\u606F\n}\n\nmessage RCSessionJoinResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_SESSION_JOIN_RESPONSE];\n required uint32 id = 2;\n optional bytes response_data = 3;\n}\n\n// Channel management\nmessage RCChannelGrabRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CHANNEL_GRAB_REQUEST];\n required uint32 initiator = 2;\n required uint32 channel_id = 3;\n}\n\nmessage RCChannelGrabResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_CHANNEL_GRAB_RESPONSE];\n required uint32 initiator = 2;\n required uint32 requested_channel_id = 3;\n required RCPduResult_E result = 4;\n optional uint32 channel_id = 5;\n}\n\nmessage RCChannelGrabIndicationPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CHANNEL_GRAB_INDICATION];\n required uint32 initiator = 2;\n optional uint32 channel_id = 3;\n}\n\nmessage RCChannelJoinRequestPdu {\n required RCPduType_E type = 1 [default = RCPDU_CHANNEL_JOIN_REQUEST];\n required uint32 initiator = 2;\n required uint32 channel_id = 3;\n}\n\nmessage RCChannelJoinResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_CHANNEL_JOIN_RESPONSE];\n required uint32 initiator = 2;\n required uint32 requested_channel_id = 3;\n required RCPduResult_E result = 4;\n}\n\nmessage RCChannelLeaveRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CHANNEL_LEAVE_REQUEST];\n required uint32 initiator = 2;\n repeated uint32 channel_ids = 3 [packed = true];\n}\n\nmessage RCChannelReleaseRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CHANNEL_RELEASE_REQUEST];\n required uint32 initiator = 2;\n required uint32 channel_id = 3;\n}\n\nmessage RCChannelReleaseIndicationPdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CHANNEL_RELEASE_INDICATION];\n required uint32 initiator = 2;\n required uint32 channel_id = 3;\n}\n\n// Data transfer\nmessage RCSendDataPdu {\n required RCPduType_E type = 1 [default = RCPDU_SEND_DATA_REQUEST];\n required RCPduType_E sub_type = 2;\n required uint32 initiator = 3;\n required uint32 conf_id = 4;\n required uint32 session_id = 5;\n required uint32 channel_id = 6;\n required bool upward = 7;\n required bool reliability = 8;\n required RCPduPriority_E priority = 9;\n required bytes data = 10;\n optional uint32 peer = 11;\n optional RCPduSegment_E seg = 12;\n optional uint32 total_size = 13;\n optional uint32 site_id = 14;\n optional string user_id = 15;\n optional string user_name = 16;\n optional string user_role = 17;\n optional string device_type = 18;\n optional string site = 19;\n}\n\n// Token management\nmessage RCTokenGrabRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_GRAB_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n}\n\nmessage RCTokenGrabConfirmPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_GRAB_CONFIRM];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n required RCPduResult_E result = 4;\n required RCPduTokenStatus_E status = 5;\n}\n\nmessage RCTokenInhibitRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_INHIBIT_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n}\n\nmessage RCTokenInhibitConfirmPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_INHIBIT_CONFIRM];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n required RCPduResult_E result = 4;\n required RCPduTokenStatus_E status = 5;\n}\n\nmessage RCTokenGiveRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_GIVE_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n required uint64 recipient = 4;\n}\n\nmessage RCTokenGiveIndicationPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_GIVE_INDICATION];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n required uint64 recipient = 4;\n}\n\nmessage RCTokenGiveResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_GIVE_RESPONSE];\n required uint32 token_id = 2;\n required uint64 recipient = 3;\n required RCPduResult_E result = 4;\n}\n\nmessage RCTokenGiveConfirmPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_GIVE_CONFIRM];\n required uint32 token_id = 2;\n required uint64 recipient = 3;\n required RCPduResult_E result = 4;\n required RCPduTokenStatus_E status = 5;\n}\n\nmessage RCTokenPleaseRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_PLEASE_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n}\n\nmessage RCTokenPleaseIndicationPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_PLEASE_INDICATION];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n}\n\nmessage RCTokenReleaseRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_RELEASE_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n}\n\nmessage RCTokenReleaseConfirmPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_TEST_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n required RCPduResult_E result = 4;\n required RCPduTokenStatus_E status = 5;\n}\n\nmessage RCTokenTestRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_TEST_REQUEST];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n}\n\nmessage RCTokenTestConfirmPdu {\n optional RCPduType_E type = 1 [default = RCPDU_TOKEN_TEST_CONFIRM];\n required uint32 initiator = 2;\n required uint32 token_id = 3;\n required RCPduTokenStatus_E status = 4;\n}\n\n//gcc.proto\n\noption optimize_for = LITE_RUNTIME;\nmessage RCConferenceJoinRequestPdu {\n required RCPduType_E type = 1 [default = RCPDU_CONFERENCE_JOIN_REQUEST];\n required uint32 initiator = 2;\n required RCPduNodeType_E node_type = 3;\n required RCConferenceDescriptorPdu conf_desc = 4;\n}\n\nmessage RCConferenceJoinResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_CONFERENCE_JOIN_RESPONSE];\n required uint32 conf_id = 2;\n required RCPduResult_E result = 3;\n optional RCConferenceDescriptorPdu conf_desc = 4;\n}\n\nmessage RCConferenceInviteRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CONFERENCE_INVITE_REQUEST];\n required uint32 initiator = 2;\n required RCConferenceDescriptorPdu conf_desc = 3;\n}\n\nmessage RCConferenceInviteResponsePdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_INVITE_RESPONSE];\n required RCPduResult_E result = 2;\n optional bytes user_data = 3;\n}\n\nmessage RCConferenceLockRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CONFERENCE_LOCK_REQUEST];\n}\n\nmessage RCConferenceLockResponsePdu {\n optional RCPduType_E type = 1 [default = RCPDU_CONFERENCE_LOCK_RESPONSE];\n required RCPduResult_E result = 2;\n}\n\nmessage RCConferenceLockIndicationPdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_LOCK_INDICATION];\n}\n\nmessage RCConferenceUnlockRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CONFERENCE_UNLOCK_REQUEST];\n}\n\nmessage RCConferenceUnlockResponsePdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_UNLOCK_RESPONSE];\n required RCPduResult_E result = 2;\n}\n\nmessage RCConferenceUnlockIndicationPdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_UNLOCK_INDICATION];\n}\n\nmessage RCConferenceLeaveRequestPdu {\n optional RCPduType_E type = 1 [default = RCPDU_CONFERENCE_LEAVE_REQUEST];\n required RCPduReason_E reason = 2;\n}\n\nmessage RCConferenceTerminateRequestPdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_TERMINATE_REQUEST];\n required RCPduReason_E reason = 2;\n}\n\nmessage RCConferenceTerminateResponsePdu {\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_TERMINATE_RESPONSE];\n required RCPduResult_E result = 2;\n}\n\nmessage RCConferenceTerminateIndicationPdu { // MCS_Uniform_Send_Data on GCC_Broadcast_Channel\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_TERMINATE_INDICATION];\n required RCPduReason_E reason = 2;\n}\n\nmessage RCConferenceEjectUserRequestPdu { // MCS_Send_Data on Node ID Channel of Top GCC\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_EJECT_USER_REQUEST];\n required uint32 ejected_node_id = 2;\n required RCPduReason_E reason = 3;\n}\n\nmessage RCConferenceEjectUserResponsePdu { // MCS_Send_Data on Node ID Channel of requester\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_EJECT_USER_RESPONSE];\n required uint32 ejected_node_id = 2;\n required RCPduResult_E result = 3;\n}\n\nmessage RCConferenceEjectUserIndicationPdu { // MCS_Uniform_Send_Data on GCC_Broadcast_Channel\n optional RCPduType_E type = 1\n [default = RCPDU_CONFERENCE_EJECT_USER_INDICATION];\n required uint32 ejected_node_id = 2;\n required RCPduReason_E reason = 3;\n}\n\nmessage RCRosterUpdateIndicationPdu { // MCS_Send_Data on Node ID Channel or\n// MCS_Uniform_Send_Data on GCC_Broadcast_Channel\n optional RCPduType_E type = 1 [default = RCPDU_ROSTER_UPDATE_INDICATION];\n required bool full_refresh = 2; // Conference Roster and all\n repeated RCNodeRecordPdu node_record = 3;\n repeated RCApplicationRecordPdu app_record = 4;\n}\n\nmessage RCRegistryUpdateRequestPdu { // MCS_Send_Data on Node ID Channel of Top GCC\n optional RCPduType_E type = 1 [default = RCPDU_REGISTRY_UPDATE_REQUEST];\n required uint32 key_id = 2;\n required uint32 obj_id = 3;\n required bytes user_data = 4;\n}\n\nmessage RCRegistryUpdateIndicationPdu { // MCS_Send_Data on Node ID Channel of Top GCC\n optional RCPduType_E type = 1 [default = RCPDU_REGISTRY_UPDATE_RESPONSE];\n required uint32 key_id = 2;\n required uint32 obj_id = 3;\n required bytes user_data = 4;\n}\n\nmessage RCRegistryUpdateResponsePdu { // MCS_Send_Data on Node ID Channel of requester\n optional RCPduType_E type = 1 [default = RCPDU_REGISTRY_UPDATE_INDICATION];\n required uint32 key_id = 2;\n required uint32 obj_id = 3;\n required RCPduResult_E result = 4;\n}\n\nmessage RCFunctionNotSupportedResponsePdu {\n optional RCPduType_E type = 1\n [default = RCPDU_FUNCTION_NOT_SUPPORTED_RESPONSE];\n required uint32 request_pdu_id = 2;\n}\n\n//ape.proto\n\noption optimize_for = LITE_RUNTIME;\nmessage RCConferenceSendDataRequestPdu {\n optional uint32 initiator = 1;\n optional uint32 peer = 2;\n required bool is_public = 3;\n required bytes user_data = 4;\n}\n\nmessage RCChatSendDataRequestPdu {\n optional uint32 initiator = 1;\n optional uint32 peer = 2;\n required bool is_public = 3;\n required bytes user_data = 4;\n required string from_role = 5;\n required bytes from_name = 6;\n}\n\nmessage RCDocSendDataRequestPdu {\n required uint32 id = 1;\n required string doc_type = 2;\n required string uri = 3;\n optional uint32 owner = 4;\n optional uint32 from = 5;\n optional string name = 6;\n optional uint32 cur_page_no = 7;\n optional uint32 cur_H = 8;\n optional uint32 cur_V = 9;\n optional uint32 scale = 10;\n optional uint32 page_num = 11;\n}\nmessage RCDocSendDataModelPdu {\n required uint32 item_idx=1;//\u552F\u4E00\u6807\u8BC6\n required uint32 owner=2;\n optional uint32 from=3;\n optional uint32 cur_page_no=4;\n optional uint32 page_num =5;\n optional string file_type=6;\n optional string creat_user_id=7;//\u521B\u5EFA\u6587\u6863userid\n optional string relative_url=8;//\u6587\u6863\u76F8\u5BF9\u5730\u5740\n optional string url =9;//\u6587\u6863\u5730\u5740\n optional uint32 cur_V=10;\n optional uint32 cur_H=11;\n optional uint32 scale=12;\n optional bool visible=13;\n optional uint32 action=14;//0\uFF0C\u65E0\u64CD\u4F5C\uFF0C 1\u7FFB\u9875\u30012.\u663E\u793A/\u9690\u85CF\n optional string doc_id=15;//\u6587\u6863\u5728\u670D\u52A1\u5668\u6570\u636E\u5E93\u4E2D\u7684\u552F\u4E00id\n optional string file_name=16;//\u6587\u6863\u7684\u540D\u5B57\n optional string dynamic_TS=17;//\"dynamicTransferStatic\": \"0\"\n optional string md5=18;//md5\n\n}\nmessage RCGiftSendDataRequestPdu {\n optional uint32 initiator = 1;\n required uint32 peer = 2;\n required uint32 index = 3;\n required uint32 num = 4;\n optional bytes user_data = 5;\n}\n\nmessage RCAudioSendDataRequestPdu {\n optional uint32 initiator = 1;\n required bytes user_data = 2;\n}\n\nmessage RCVideoSendDataRequestPdu {\n optional uint32 initiator = 1;\n required bool key_frame = 2;\n required uint32 sequence_id = 3;\n required uint32 slice_id = 4;\n required bytes user_data = 5;\n}\n\nmessage RCAudioChannelInfoRecordPdu {\n required uint32 status = 1;\n required uint32 device_id = 2;\n required uint32 framerate = 3;\n required uint32 bitrate = 4;\n required uint32 codec = 5;\n}\n\nmessage RCVideoChannelInfoRecordPdu {\n optional uint32 status = 1;\n optional uint32 device_id = 2;\n optional uint32 width = 3;\n optional uint32 height = 4;\n optional uint32 framerate = 5;\n optional uint32 bitrate = 6;\n optional uint32 codec = 7;\n optional string peer_id = 8;\n optional string url = 9;\n optional uint32 type = 10;\n optional string shamlive = 11;\n optional uint32 livetype = 12;\n optional uint32 releaseGrab = 13;\n optional string curTime = 14;\n}\n\nmessage RCAudioDeviceInfoRecordPdu {\n required uint32 device_id = 1;\n required string device_name = 2;\n}\n\nmessage RCVideoDeviceInfoRecordPdu {\n required uint32 device_id = 1;\n required string device_name = 2;\n}\n\nmessage RCNodeInfoRecordPdu {\n required uint32 node_id = 1;\n required string name = 2;\n required uint32 role = 3;\n required uint32 level = 4;\n repeated RCAudioDeviceInfoRecordPdu audio_records = 5;\n repeated RCVideoDeviceInfoRecordPdu video_records = 6;\n optional uint32 status = 7;\n optional bytes user_data = 8;\n optional string user_id = 9;\n optional uint32 handUpTime = 10;\n optional uint32 deviceType = 11;\n optional uint32 mobileDirection = 12;\n}\n\nmessage RCVotingPollSettingsPdu {\n required bool timer = 1;\n optional uint32 time_limit = 2;\n optional uint32 total_score = 3;\n}\n\nmessage RCVotingPollResultPdu {\n required string title = 1;\n required string content = 2;\n optional uint32 score = 3;\n}\n\nmessage RCVotingPollQuestionPdu {\n required uint32 index = 1;\n required uint32 type = 2;\n required string title = 3;\n repeated string options = 4;\n optional uint32 score = 5;\n optional uint32 time_limit = 6;\n optional string restrict_input = 7;\n optional uint32 char_limit = 8;\n optional string answer = 9;\n repeated uint32 selections = 10;\n repeated string responses = 11;\n}\n\nmessage RCVotingPollRecordPdu {\n required RCVotingPollSettingsPdu settings = 1;\n required string title = 2;\n repeated RCVotingPollResultPdu results = 3;\n repeated RCVotingPollQuestionPdu questions = 4;\n}\n\nmessage RCNodeInfoUserDataPdu {\n optional string qq = 1;\n optional string skype = 2;\n optional string mobile = 3;\n}\nmessage RCTabUpdateDataRequestPdu {\n optional uint32 id = 1;\n optional bytes action = 2;\n optional uint32 uncomprLen =3;\n}\n\nmessage RCWhiteBoardDataModel {\n required uint32 type= 1;//\u767D\u677F\u7C7B\u578B\n required uint32 itemIdx= 2;//itemIdx \u6BCF\u4E00\u6B21\u7ED8\u5236\u7684\u552F\u4E00\u6807\u8BC6\n required uint32 initiator=3; //\u7ED8\u5236\u6765\u81EA\u8C01\n required uint32 parentId=4; //\u7236\u7EA7\u7684id\n required uint32 curPage= 5;//\u9875\u7801\n optional string pointGroup=6; //\u5750\u6807\u70B9\u96C6\u6570\u7EC4\u7684JSON\u5B57\u7B26\u4E32\n optional string color=7 [default = \"#000000\"]; //\u989C\u8272\n optional uint32 thickness= 8 ;//\u7EBF\u6761\u7C97\u7EC6\n optional uint32 radius= 9;//\u56ED\u7684\u534A\u5F84\n optional uint32 fontSize= 10;//\u5B57\u4F53\u5927\u5C0F\n optional string fontName= 11;//\u5B57\u4F53\u540D\u79F0\n optional string text= 12;//\u6587\u672C\u5185\u5BB9\n optional bytes data = 13;//\u6682\u65F6\u9884\u7559\u7684\u53C2\u6570\n}\nmessage RCClassSendDataModelPdu {\n optional uint32 class_status= 1;//\u5F53\u524D\u8BFE\u5802\u72B6\u6001 //0:\u672A\u5F00\u59CB\uFF0C1\uFF0C\u5F00\u59CB\uFF0C2\uFF0C\u6682\u505C\n optional uint32 class_timestamp= 2;//\u76EE\u524D\u7528\u8FD9\u4E2A\u53D8\u91CF\u6765\u8BB0\u5F55\u65F6\u95F4 flash\u7528\u7684\u8FD9\u4E2A\n optional uint32 item_idx=3;\n optional uint32 from=4;\n}\n\n//end\n"; |
| 14265 | exports.default = _default; | 14257 | exports.default = _default; |
| 14266 | ; | 14258 | ; |
| 14267 | 14259 | ||
| @@ -14490,6 +14482,10 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -14490,6 +14482,10 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 14490 | 14482 | ||
| 14491 | var _GlobalConfig2 = _interopRequireDefault(_GlobalConfig); | 14483 | var _GlobalConfig2 = _interopRequireDefault(_GlobalConfig); |
| 14492 | 14484 | ||
| 14485 | + var _EngineUtils = __webpack_require__(34); | ||
| 14486 | + | ||
| 14487 | + var _EngineUtils2 = _interopRequireDefault(_EngineUtils); | ||
| 14488 | + | ||
| 14493 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | 14489 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
| 14494 | 14490 | ||
| 14495 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | 14491 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } |
| @@ -14512,6 +14508,7 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -14512,6 +14508,7 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 14512 | // ////////////////////////////////////////////////////////////////////////////// | 14508 | // ////////////////////////////////////////////////////////////////////////////// |
| 14513 | 14509 | ||
| 14514 | var loger = _Loger2.default.getLoger('ConferApe'); | 14510 | var loger = _Loger2.default.getLoger('ConferApe'); |
| 14511 | + var itemIdx = 0; //table插入新数据的计数id,目前用时间戳 | ||
| 14515 | 14512 | ||
| 14516 | var ConferApe = function (_Ape) { | 14513 | var ConferApe = function (_Ape) { |
| 14517 | _inherits(ConferApe, _Ape); | 14514 | _inherits(ConferApe, _Ape); |
| @@ -14626,25 +14623,133 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -14626,25 +14623,133 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 14626 | 14623 | ||
| 14627 | this.sendUniform(adapterPdu, true); | 14624 | this.sendUniform(adapterPdu, true); |
| 14628 | } | 14625 | } |
| 14626 | + | ||
| 14627 | + //更新会议信息 | ||
| 14628 | + | ||
| 14629 | + }, { | ||
| 14630 | + key: 'sendUpdaterClassInfo', | ||
| 14631 | + value: function sendUpdaterClassInfo(_param) { | ||
| 14632 | + loger.log('sendUpdaterClassInfo----------'); | ||
| 14633 | + if (_param == null || _EngineUtils2.default.isEmptyObject(_param)) { | ||
| 14634 | + loger.log('sendUpdaterClassInfo,参数错误'); | ||
| 14635 | + this._emit(_MessageTypes2.default.MCU_ERROR, _MessageTypes2.default.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 14636 | + return; | ||
| 14637 | + } | ||
| 14638 | + itemIdx = _param.itemIdx; | ||
| 14639 | + var whiteBoardModelPdu = this.packPdu(_param, itemIdx); | ||
| 14640 | + console.log(whiteBoardModelPdu); | ||
| 14641 | + | ||
| 14642 | + if (whiteBoardModelPdu == null) { | ||
| 14643 | + loger.log('sendUpdaterClassInfo,参数错误'); | ||
| 14644 | + this._emit(_MessageTypes2.default.MCU_ERROR, _MessageTypes2.default.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 14645 | + return; | ||
| 14646 | + } | ||
| 14647 | + | ||
| 14648 | + var tableItemPdu = new _pdus2.default['RCRegistryTableItemPdu'](); | ||
| 14649 | + tableItemPdu.itemIdx = itemIdx; | ||
| 14650 | + tableItemPdu.owner = 0; //收到flash的是这个值,不清楚先写固定 | ||
| 14651 | + tableItemPdu.registerObjId = _ApeConsts2.default.CONFERENCE_OBJ_TABLE_ID; | ||
| 14652 | + tableItemPdu.itemData = whiteBoardModelPdu.toArrayBuffer(); | ||
| 14653 | + | ||
| 14654 | + //updater | ||
| 14655 | + var whiteBoardUpdateItem = new _pdus2.default['RCRegistryTableUpdateItemPdu'](); | ||
| 14656 | + //optional RCPduType_E type = 1 [default = RCPDU_REG_TABLE_UPDATE_PDU]; | ||
| 14657 | + //repeated RCRegistryTableItemPdu items = 2; | ||
| 14658 | + whiteBoardUpdateItem.type = _pdus2.default.RCPDU_REG_TABLE_UPDATE_PDU; // | ||
| 14659 | + whiteBoardUpdateItem.items.push(tableItemPdu); | ||
| 14660 | + | ||
| 14661 | + var updateObjPdu = new _pdus2.default['RCRegistryUpdateObjPdu'](); | ||
| 14662 | + updateObjPdu.objId = _ApeConsts2.default.CONFERENCE_OBJ_TABLE_ID; | ||
| 14663 | + updateObjPdu.subType = whiteBoardUpdateItem.type; | ||
| 14664 | + updateObjPdu.userData = whiteBoardUpdateItem.toArrayBuffer(); | ||
| 14665 | + | ||
| 14666 | + //同步 | ||
| 14667 | + var adapterItemPdu = new _pdus2.default['RCAdapterItemPdu'](); | ||
| 14668 | + adapterItemPdu.type = _pdus2.default.RCPDU_REG_UPDATE_OBJ; | ||
| 14669 | + adapterItemPdu.itemData = updateObjPdu.toArrayBuffer(); | ||
| 14670 | + | ||
| 14671 | + var adapterPdu = new _pdus2.default['RCAdapterPdu'](); | ||
| 14672 | + adapterPdu.type = _pdus2.default.RCPDU_REG_ADAPTER; | ||
| 14673 | + adapterPdu.item.push(adapterItemPdu); | ||
| 14674 | + | ||
| 14675 | + console.log("会议发送更新数据============"); | ||
| 14676 | + this.sendUniform(adapterPdu, true); | ||
| 14677 | + } | ||
| 14678 | + | ||
| 14679 | + ///////白板数据的封包和解包///////////////////////////////////////// | ||
| 14680 | + | ||
| 14681 | + }, { | ||
| 14682 | + key: 'packPdu', | ||
| 14683 | + value: function packPdu(_param, _itemIdx) { | ||
| 14684 | + loger.log("会议===packPdu "); | ||
| 14685 | + //验证坐标点集合数组是否合法 | ||
| 14686 | + if (_param == null || _itemIdx == null) { | ||
| 14687 | + this._emit(_MessageTypes2.default.MCU_ERROR, _MessageTypes2.default.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 14688 | + return null; | ||
| 14689 | + } | ||
| 14690 | + | ||
| 14691 | + /* | ||
| 14692 | + optional uint32 class_status= 1;//当前课堂状态 //0:未开始,1,开始,2,暂停 | ||
| 14693 | + optional string class_timestamp= 2;//目前用这个变量来记录时间 flash用的这个 | ||
| 14694 | + optional item_idx=3; | ||
| 14695 | + optional from=4; | ||
| 14696 | + */ | ||
| 14697 | + //判断type类型,根据type设置不同的参数 | ||
| 14698 | + var modelPdu = new _pdus2.default['RCClassSendDataModelPdu'](); | ||
| 14699 | + modelPdu.itemIdx = _itemIdx; | ||
| 14700 | + modelPdu.owner = _GlobalConfig2.default.nodeId; | ||
| 14701 | + modelPdu.from = _GlobalConfig2.default.nodeId; | ||
| 14702 | + modelPdu.classStatus = 2; | ||
| 14703 | + modelPdu.classTimestamp = 32532532; | ||
| 14704 | + | ||
| 14705 | + console.log(modelPdu); | ||
| 14706 | + return modelPdu; | ||
| 14707 | + } | ||
| 14708 | + }, { | ||
| 14709 | + key: 'unPackPdu', | ||
| 14710 | + value: function unPackPdu(owner, itemIdx, itemData) { | ||
| 14711 | + loger.log("会议===unPackPdu "); | ||
| 14712 | + if (owner == null || itemIdx == null || itemData == null) { | ||
| 14713 | + this._emit(_MessageTypes2.default.MCU_ERROR, _MessageTypes2.default.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 14714 | + return null; | ||
| 14715 | + } | ||
| 14716 | + | ||
| 14717 | + try { | ||
| 14718 | + var docModelPdu = _pdus2.default['RCClassSendDataModelPdu'].decode(itemData); | ||
| 14719 | + return docModelPdu; | ||
| 14720 | + } catch (err) { | ||
| 14721 | + loger.log("会议收到数据 unPackPdu Pdu解析错误,itemIdx=" + itemIdx + " err:" + err.message); | ||
| 14722 | + } | ||
| 14723 | + return null; | ||
| 14724 | + } | ||
| 14725 | + | ||
| 14726 | + /////收到消息处理///////////////////////////////////////////////////////////////////////////////// | ||
| 14727 | + | ||
| 14629 | }, { | 14728 | }, { |
| 14630 | key: 'tableUpdateHandler', | 14729 | key: 'tableUpdateHandler', |
| 14631 | value: function tableUpdateHandler(owner, itemIdx, itemData) { | 14730 | value: function tableUpdateHandler(owner, itemIdx, itemData) { |
| 14632 | try { | 14731 | try { |
| 14633 | - var tabUpdatePdu = _pdus2.default["RCTabUpdateDataRequestPdu"].decode(itemData); | ||
| 14634 | - | ||
| 14635 | - var uncompressedBytes = new _zlib.Zlib.Inflate(tabUpdatePdu.action.compact().view).decompress(); | ||
| 14636 | - var tabInfo = _utf2.default.getStringFromBytes(uncompressedBytes); | ||
| 14637 | - var tabTypeMatches = tabInfo.match(/<TabType>(.+)<\/TabType>/); | ||
| 14638 | - loger.log("更新列表数据 tableUpdateHandler", "owner:" + owner, "itemIdx:" + itemIdx, "tabInfo:", tabInfo); | ||
| 14639 | - if (tabTypeMatches.length > 1 && tabTypeMatches[1] == 'show.docsharing') { | ||
| 14640 | - if (tabInfo.match(/<visible>(.+)<\/visible>/)[1] == 'true') { | ||
| 14641 | - this.activeDocId = tabInfo.match(/<TabID>(.+)<\/TabID>/)[1]; | ||
| 14642 | - this._emit(_MessageTypes2.default.DOC_SWITCH, this.activeDocId); | ||
| 14643 | - } | ||
| 14644 | - } | 14732 | + var model = this.unPackPdu(owner, itemIdx, itemData); |
| 14733 | + loger.log('tableUpdateHandler', model); | ||
| 14645 | } catch (e) { | 14734 | } catch (e) { |
| 14646 | - loger.warn('ConferApe table update got exception.'); | 14735 | + loger.warn('ConferApe table update got exception. itemIdx', itemIdx); |
| 14647 | } | 14736 | } |
| 14737 | + | ||
| 14738 | + /* try { | ||
| 14739 | + let tabUpdatePdu = pdu["RCTabUpdateDataRequestPdu"].decode(itemData); | ||
| 14740 | + const uncompressedBytes = new Zlib.Inflate(tabUpdatePdu.action.compact().view).decompress(); | ||
| 14741 | + let tabInfo = UTF8.getStringFromBytes(uncompressedBytes); | ||
| 14742 | + let tabTypeMatches = tabInfo.match(/<TabType>(.+)<\/TabType>/); | ||
| 14743 | + loger.log("更新列表数据 tableUpdateHandler","owner:"+owner, "itemIdx:"+itemIdx,"tabInfo:",tabInfo); | ||
| 14744 | + if (tabTypeMatches.length > 1 && tabTypeMatches[1] == 'show.docsharing') { | ||
| 14745 | + if (tabInfo.match(/<visible>(.+)<\/visible>/)[1] == 'true') { | ||
| 14746 | + this.activeDocId = tabInfo.match(/<TabID>(.+)<\/TabID>/)[1]; | ||
| 14747 | + this._emit(MessageTypes.DOC_SWITCH, this.activeDocId); | ||
| 14748 | + } | ||
| 14749 | + } | ||
| 14750 | + } catch (e) { | ||
| 14751 | + loger.warn('ConferApe table update got exception. itemIdx',itemIdx); | ||
| 14752 | + }*/ | ||
| 14648 | } | 14753 | } |
| 14649 | }, { | 14754 | }, { |
| 14650 | key: 'rosterInsertHandler', | 14755 | key: 'rosterInsertHandler', |
| @@ -14724,6 +14829,8 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -14724,6 +14829,8 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 14724 | 14829 | ||
| 14725 | __REACT_HOT_LOADER__.register(loger, 'loger', 'D:/work/McuClient/src/apes/ConferApe.js'); | 14830 | __REACT_HOT_LOADER__.register(loger, 'loger', 'D:/work/McuClient/src/apes/ConferApe.js'); |
| 14726 | 14831 | ||
| 14832 | + __REACT_HOT_LOADER__.register(itemIdx, 'itemIdx', 'D:/work/McuClient/src/apes/ConferApe.js'); | ||
| 14833 | + | ||
| 14727 | __REACT_HOT_LOADER__.register(ConferApe, 'ConferApe', 'D:/work/McuClient/src/apes/ConferApe.js'); | 14834 | __REACT_HOT_LOADER__.register(ConferApe, 'ConferApe', 'D:/work/McuClient/src/apes/ConferApe.js'); |
| 14728 | 14835 | ||
| 14729 | __REACT_HOT_LOADER__.register(_default, 'default', 'D:/work/McuClient/src/apes/ConferApe.js'); | 14836 | __REACT_HOT_LOADER__.register(_default, 'default', 'D:/work/McuClient/src/apes/ConferApe.js'); |
| @@ -15644,6 +15751,88 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -15644,6 +15751,88 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 15644 | /* 34 */ | 15751 | /* 34 */ |
| 15645 | /***/ function(module, exports) { | 15752 | /***/ function(module, exports) { |
| 15646 | 15753 | ||
| 15754 | + "use strict"; | ||
| 15755 | + | ||
| 15756 | + Object.defineProperty(exports, "__esModule", { | ||
| 15757 | + value: true | ||
| 15758 | + }); | ||
| 15759 | + | ||
| 15760 | + var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); | ||
| 15761 | + | ||
| 15762 | + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | ||
| 15763 | + | ||
| 15764 | + /** | ||
| 15765 | + * Created by hoopoe8 on 2017/1/8. | ||
| 15766 | + */ | ||
| 15767 | + | ||
| 15768 | + var EngineUtils = function () { | ||
| 15769 | + function EngineUtils() { | ||
| 15770 | + _classCallCheck(this, EngineUtils); | ||
| 15771 | + } | ||
| 15772 | + | ||
| 15773 | + _createClass(EngineUtils, null, [{ | ||
| 15774 | + key: "isEmptyObject", | ||
| 15775 | + value: function isEmptyObject(O) { | ||
| 15776 | + for (var x in O) { | ||
| 15777 | + return false; | ||
| 15778 | + } | ||
| 15779 | + return true; | ||
| 15780 | + } | ||
| 15781 | + }, { | ||
| 15782 | + key: "arrayToJsonString", | ||
| 15783 | + value: function arrayToJsonString(_param) { | ||
| 15784 | + try { | ||
| 15785 | + return JSON.stringify(_param); | ||
| 15786 | + } catch (err) { | ||
| 15787 | + console.log("arrayToJsonString error:" + err.message); | ||
| 15788 | + } | ||
| 15789 | + return null; | ||
| 15790 | + } | ||
| 15791 | + }, { | ||
| 15792 | + key: "arrayFromJsonString", | ||
| 15793 | + value: function arrayFromJsonString(_param) { | ||
| 15794 | + try { | ||
| 15795 | + return JSON.parse(_param); | ||
| 15796 | + } catch (err) { | ||
| 15797 | + console.log("arrayFromJsonString error:" + err.message); | ||
| 15798 | + } | ||
| 15799 | + return null; | ||
| 15800 | + } | ||
| 15801 | + | ||
| 15802 | + //生成时间戳随 保证唯一 | ||
| 15803 | + | ||
| 15804 | + }, { | ||
| 15805 | + key: "creatTimestamp", | ||
| 15806 | + value: function creatTimestamp() { | ||
| 15807 | + var time = new Date().getTime(); | ||
| 15808 | + var timestamp = time % 1000000000; //time后9位 | ||
| 15809 | + return timestamp; | ||
| 15810 | + } | ||
| 15811 | + }]); | ||
| 15812 | + | ||
| 15813 | + return EngineUtils; | ||
| 15814 | + }(); | ||
| 15815 | + | ||
| 15816 | + var _default = EngineUtils; | ||
| 15817 | + exports.default = _default; | ||
| 15818 | + ; | ||
| 15819 | + | ||
| 15820 | + var _temp = function () { | ||
| 15821 | + if (typeof __REACT_HOT_LOADER__ === 'undefined') { | ||
| 15822 | + return; | ||
| 15823 | + } | ||
| 15824 | + | ||
| 15825 | + __REACT_HOT_LOADER__.register(EngineUtils, "EngineUtils", "D:/work/McuClient/src/EngineUtils.js"); | ||
| 15826 | + | ||
| 15827 | + __REACT_HOT_LOADER__.register(_default, "default", "D:/work/McuClient/src/EngineUtils.js"); | ||
| 15828 | + }(); | ||
| 15829 | + | ||
| 15830 | + ; | ||
| 15831 | + | ||
| 15832 | +/***/ }, | ||
| 15833 | +/* 35 */ | ||
| 15834 | +/***/ function(module, exports) { | ||
| 15835 | + | ||
| 15647 | 'use strict' | 15836 | 'use strict' |
| 15648 | 15837 | ||
| 15649 | exports.byteLength = byteLength | 15838 | exports.byteLength = byteLength |
| @@ -15761,88 +15950,6 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -15761,88 +15950,6 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 15761 | 15950 | ||
| 15762 | 15951 | ||
| 15763 | /***/ }, | 15952 | /***/ }, |
| 15764 | -/* 35 */ | ||
| 15765 | -/***/ function(module, exports) { | ||
| 15766 | - | ||
| 15767 | - "use strict"; | ||
| 15768 | - | ||
| 15769 | - Object.defineProperty(exports, "__esModule", { | ||
| 15770 | - value: true | ||
| 15771 | - }); | ||
| 15772 | - | ||
| 15773 | - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); | ||
| 15774 | - | ||
| 15775 | - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | ||
| 15776 | - | ||
| 15777 | - /** | ||
| 15778 | - * Created by hoopoe8 on 2017/1/8. | ||
| 15779 | - */ | ||
| 15780 | - | ||
| 15781 | - var EngineUtils = function () { | ||
| 15782 | - function EngineUtils() { | ||
| 15783 | - _classCallCheck(this, EngineUtils); | ||
| 15784 | - } | ||
| 15785 | - | ||
| 15786 | - _createClass(EngineUtils, null, [{ | ||
| 15787 | - key: "isEmptyObject", | ||
| 15788 | - value: function isEmptyObject(O) { | ||
| 15789 | - for (var x in O) { | ||
| 15790 | - return false; | ||
| 15791 | - } | ||
| 15792 | - return true; | ||
| 15793 | - } | ||
| 15794 | - }, { | ||
| 15795 | - key: "arrayToJsonString", | ||
| 15796 | - value: function arrayToJsonString(_param) { | ||
| 15797 | - try { | ||
| 15798 | - return JSON.stringify(_param); | ||
| 15799 | - } catch (err) { | ||
| 15800 | - console.log("arrayToJsonString error:" + err.message); | ||
| 15801 | - } | ||
| 15802 | - return null; | ||
| 15803 | - } | ||
| 15804 | - }, { | ||
| 15805 | - key: "arrayFromJsonString", | ||
| 15806 | - value: function arrayFromJsonString(_param) { | ||
| 15807 | - try { | ||
| 15808 | - return JSON.parse(_param); | ||
| 15809 | - } catch (err) { | ||
| 15810 | - console.log("arrayFromJsonString error:" + err.message); | ||
| 15811 | - } | ||
| 15812 | - return null; | ||
| 15813 | - } | ||
| 15814 | - | ||
| 15815 | - //生成时间戳随 保证唯一 | ||
| 15816 | - | ||
| 15817 | - }, { | ||
| 15818 | - key: "creatTimestamp", | ||
| 15819 | - value: function creatTimestamp() { | ||
| 15820 | - var time = new Date().getTime(); | ||
| 15821 | - var timestamp = time % 1000000000; //time后9位 | ||
| 15822 | - return timestamp; | ||
| 15823 | - } | ||
| 15824 | - }]); | ||
| 15825 | - | ||
| 15826 | - return EngineUtils; | ||
| 15827 | - }(); | ||
| 15828 | - | ||
| 15829 | - var _default = EngineUtils; | ||
| 15830 | - exports.default = _default; | ||
| 15831 | - ; | ||
| 15832 | - | ||
| 15833 | - var _temp = function () { | ||
| 15834 | - if (typeof __REACT_HOT_LOADER__ === 'undefined') { | ||
| 15835 | - return; | ||
| 15836 | - } | ||
| 15837 | - | ||
| 15838 | - __REACT_HOT_LOADER__.register(EngineUtils, "EngineUtils", "D:/work/McuClient/src/EngineUtils.js"); | ||
| 15839 | - | ||
| 15840 | - __REACT_HOT_LOADER__.register(_default, "default", "D:/work/McuClient/src/EngineUtils.js"); | ||
| 15841 | - }(); | ||
| 15842 | - | ||
| 15843 | - ; | ||
| 15844 | - | ||
| 15845 | -/***/ }, | ||
| 15846 | /* 36 */ | 15953 | /* 36 */ |
| 15847 | /***/ function(module, exports, __webpack_require__) { | 15954 | /***/ function(module, exports, __webpack_require__) { |
| 15848 | 15955 | ||
| @@ -15874,7 +15981,7 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -15874,7 +15981,7 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 15874 | 15981 | ||
| 15875 | var _MessageTypes2 = _interopRequireDefault(_MessageTypes); | 15982 | var _MessageTypes2 = _interopRequireDefault(_MessageTypes); |
| 15876 | 15983 | ||
| 15877 | - var _EngineUtils = __webpack_require__(35); | 15984 | + var _EngineUtils = __webpack_require__(34); |
| 15878 | 15985 | ||
| 15879 | var _EngineUtils2 = _interopRequireDefault(_EngineUtils); | 15986 | var _EngineUtils2 = _interopRequireDefault(_EngineUtils); |
| 15880 | 15987 | ||
| @@ -16226,7 +16333,7 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -16226,7 +16333,7 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 16226 | 16333 | ||
| 16227 | var _GlobalConfig2 = _interopRequireDefault(_GlobalConfig); | 16334 | var _GlobalConfig2 = _interopRequireDefault(_GlobalConfig); |
| 16228 | 16335 | ||
| 16229 | - var _EngineUtils = __webpack_require__(35); | 16336 | + var _EngineUtils = __webpack_require__(34); |
| 16230 | 16337 | ||
| 16231 | var _EngineUtils2 = _interopRequireDefault(_EngineUtils); | 16338 | var _EngineUtils2 = _interopRequireDefault(_EngineUtils); |
| 16232 | 16339 | ||
| @@ -16698,7 +16805,7 @@ return /******/ (function(modules) { // webpackBootstrap | @@ -16698,7 +16805,7 @@ return /******/ (function(modules) { // webpackBootstrap | ||
| 16698 | 16805 | ||
| 16699 | var _GlobalConfig2 = _interopRequireDefault(_GlobalConfig); | 16806 | var _GlobalConfig2 = _interopRequireDefault(_GlobalConfig); |
| 16700 | 16807 | ||
| 16701 | - var _EngineUtils = __webpack_require__(35); | 16808 | + var _EngineUtils = __webpack_require__(34); |
| 16702 | 16809 | ||
| 16703 | var _EngineUtils2 = _interopRequireDefault(_EngineUtils); | 16810 | var _EngineUtils2 = _interopRequireDefault(_EngineUtils); |
| 16704 | 16811 |
| @@ -97,6 +97,7 @@ export default class MessageEntrance extends Emiter { | @@ -97,6 +97,7 @@ export default class MessageEntrance extends Emiter { | ||
| 97 | this.leaveClass=this._leaveClass; | 97 | this.leaveClass=this._leaveClass; |
| 98 | this.getMcuClientStatus=this._getMcuClientStatus; | 98 | this.getMcuClientStatus=this._getMcuClientStatus; |
| 99 | this.getClassDetail=this._getClassDetail; | 99 | this.getClassDetail=this._getClassDetail; |
| 100 | + this.sendUpdaterClass=this._sendUpdaterClass; | ||
| 100 | 101 | ||
| 101 | //chatApe | 102 | //chatApe |
| 102 | this.sendChatMsg=this._sendChatMsg; | 103 | this.sendChatMsg=this._sendChatMsg; |
| @@ -431,6 +432,8 @@ export default class MessageEntrance extends Emiter { | @@ -431,6 +432,8 @@ export default class MessageEntrance extends Emiter { | ||
| 431 | // } | 432 | // } |
| 432 | //} | 433 | //} |
| 433 | 434 | ||
| 435 | + | ||
| 436 | + //ConferApe | ||
| 434 | // 参会处理 | 437 | // 参会处理 |
| 435 | conferenceHandler(msg_type) { | 438 | conferenceHandler(msg_type) { |
| 436 | var msg = { | 439 | var msg = { |
| @@ -439,7 +442,15 @@ export default class MessageEntrance extends Emiter { | @@ -439,7 +442,15 @@ export default class MessageEntrance extends Emiter { | ||
| 439 | }; | 442 | }; |
| 440 | this._emit(msg.type, msg); | 443 | this._emit(msg.type, msg); |
| 441 | } | 444 | } |
| 445 | + //更新会议数据 | ||
| 446 | + _sendUpdaterClass(_param){ | ||
| 447 | + if(_confer_ape){ | ||
| 448 | + _confer_ape.sendUpdaterClassInfo(_param); | ||
| 449 | + } | ||
| 450 | + } | ||
| 451 | + | ||
| 442 | 452 | ||
| 453 | + //ChatApe | ||
| 443 | // 发送聊天消息 | 454 | // 发送聊天消息 |
| 444 | _sendChatMsg(_messageInfo) { | 455 | _sendChatMsg(_messageInfo) { |
| 445 | if(_messageInfo===null||EngineUtils.isEmptyObject(_messageInfo)){ | 456 | if(_messageInfo===null||EngineUtils.isEmptyObject(_messageInfo)){ |
| @@ -21,9 +21,10 @@ import { Zlib } from 'zlibjs/bin/zlib.min'; | @@ -21,9 +21,10 @@ import { Zlib } from 'zlibjs/bin/zlib.min'; | ||
| 21 | import UTF8 from 'utf-8'; | 21 | import UTF8 from 'utf-8'; |
| 22 | import Loger from 'Loger'; | 22 | import Loger from 'Loger'; |
| 23 | import GlobalConfig from 'GlobalConfig'; | 23 | import GlobalConfig from 'GlobalConfig'; |
| 24 | +import EngineUtils from 'EngineUtils'; | ||
| 24 | 25 | ||
| 25 | let loger = Loger.getLoger('ConferApe'); | 26 | let loger = Loger.getLoger('ConferApe'); |
| 26 | - | 27 | +let itemIdx=0;//table插入新数据的计数id,目前用时间戳 |
| 27 | class ConferApe extends Ape { | 28 | class ConferApe extends Ape { |
| 28 | constructor() { | 29 | constructor() { |
| 29 | super( | 30 | super( |
| @@ -137,10 +138,114 @@ class ConferApe extends Ape { | @@ -137,10 +138,114 @@ class ConferApe extends Ape { | ||
| 137 | this.sendUniform(adapterPdu, true); | 138 | this.sendUniform(adapterPdu, true); |
| 138 | } | 139 | } |
| 139 | 140 | ||
| 141 | + //更新会议信息 | ||
| 142 | + sendUpdaterClassInfo(_param){ | ||
| 143 | + loger.log('sendUpdaterClassInfo----------'); | ||
| 144 | + if(_param==null||EngineUtils.isEmptyObject(_param)){ | ||
| 145 | + loger.log('sendUpdaterClassInfo,参数错误'); | ||
| 146 | + this._emit(MessageTypes.MCU_ERROR,MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 147 | + return ; | ||
| 148 | + } | ||
| 149 | + itemIdx=_param.itemIdx; | ||
| 150 | + let whiteBoardModelPdu = this.packPdu(_param,itemIdx); | ||
| 151 | + console.log(whiteBoardModelPdu); | ||
| 152 | + | ||
| 153 | + if(whiteBoardModelPdu==null){ | ||
| 154 | + loger.log('sendUpdaterClassInfo,参数错误'); | ||
| 155 | + this._emit(MessageTypes.MCU_ERROR,MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 156 | + return ; | ||
| 157 | + } | ||
| 158 | + | ||
| 159 | + let tableItemPdu = new pdu['RCRegistryTableItemPdu']; | ||
| 160 | + tableItemPdu.itemIdx=itemIdx; | ||
| 161 | + tableItemPdu.owner = 0;//收到flash的是这个值,不清楚先写固定 | ||
| 162 | + tableItemPdu.registerObjId=ApeConsts.CONFERENCE_OBJ_TABLE_ID; | ||
| 163 | + tableItemPdu.itemData =whiteBoardModelPdu.toArrayBuffer(); | ||
| 164 | + | ||
| 165 | + | ||
| 166 | + //updater | ||
| 167 | + let whiteBoardUpdateItem = new pdu['RCRegistryTableUpdateItemPdu']; | ||
| 168 | + //optional RCPduType_E type = 1 [default = RCPDU_REG_TABLE_UPDATE_PDU]; | ||
| 169 | + //repeated RCRegistryTableItemPdu items = 2; | ||
| 170 | + whiteBoardUpdateItem.type = pdu.RCPDU_REG_TABLE_UPDATE_PDU;// | ||
| 171 | + whiteBoardUpdateItem.items.push(tableItemPdu); | ||
| 172 | + | ||
| 173 | + | ||
| 174 | + let updateObjPdu = new pdu['RCRegistryUpdateObjPdu']; | ||
| 175 | + updateObjPdu.objId = ApeConsts.CONFERENCE_OBJ_TABLE_ID; | ||
| 176 | + updateObjPdu.subType = whiteBoardUpdateItem.type; | ||
| 177 | + updateObjPdu.userData = whiteBoardUpdateItem.toArrayBuffer(); | ||
| 178 | + | ||
| 179 | + //同步 | ||
| 180 | + let adapterItemPdu = new pdu['RCAdapterItemPdu']; | ||
| 181 | + adapterItemPdu.type = pdu.RCPDU_REG_UPDATE_OBJ; | ||
| 182 | + adapterItemPdu.itemData = updateObjPdu.toArrayBuffer(); | ||
| 183 | + | ||
| 184 | + let adapterPdu = new pdu['RCAdapterPdu']; | ||
| 185 | + adapterPdu.type = pdu.RCPDU_REG_ADAPTER; | ||
| 186 | + adapterPdu.item.push(adapterItemPdu); | ||
| 187 | + | ||
| 188 | + console.log("会议发送更新数据============"); | ||
| 189 | + this.sendUniform(adapterPdu,true); | ||
| 190 | + } | ||
| 191 | + | ||
| 192 | + | ||
| 193 | + | ||
| 194 | + ///////白板数据的封包和解包///////////////////////////////////////// | ||
| 195 | + packPdu(_param,_itemIdx){ | ||
| 196 | + loger.log("会议===packPdu "); | ||
| 197 | + //验证坐标点集合数组是否合法 | ||
| 198 | + if(_param==null||_itemIdx==null){ | ||
| 199 | + this._emit(MessageTypes.MCU_ERROR,MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 200 | + return null; | ||
| 201 | + } | ||
| 202 | + | ||
| 203 | + /* | ||
| 204 | + optional uint32 class_status= 1;//当前课堂状态 //0:未开始,1,开始,2,暂停 | ||
| 205 | + optional string class_timestamp= 2;//目前用这个变量来记录时间 flash用的这个 | ||
| 206 | + optional item_idx=3; | ||
| 207 | + optional from=4; | ||
| 208 | + */ | ||
| 209 | + //判断type类型,根据type设置不同的参数 | ||
| 210 | + let modelPdu =new pdu['RCClassSendDataModelPdu']; | ||
| 211 | + modelPdu.itemIdx=_itemIdx; | ||
| 212 | + modelPdu.owner=GlobalConfig.nodeId; | ||
| 213 | + modelPdu.from=GlobalConfig.nodeId; | ||
| 214 | + modelPdu.classStatus =2; | ||
| 215 | + modelPdu.classTimestamp=32532532; | ||
| 216 | + | ||
| 217 | + console.log(modelPdu); | ||
| 218 | + return modelPdu; | ||
| 219 | + } | ||
| 220 | + | ||
| 221 | + unPackPdu(owner, itemIdx,itemData){ | ||
| 222 | + loger.log("会议===unPackPdu "); | ||
| 223 | + if(owner==null||itemIdx==null||itemData==null){ | ||
| 224 | + this._emit(MessageTypes.MCU_ERROR,MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | ||
| 225 | + return null; | ||
| 226 | + } | ||
| 227 | + | ||
| 228 | + try{ | ||
| 229 | + let docModelPdu= pdu['RCClassSendDataModelPdu'].decode(itemData); | ||
| 230 | + return docModelPdu; | ||
| 231 | + }catch (err){ | ||
| 232 | + loger.log("会议收到数据 unPackPdu Pdu解析错误,itemIdx="+itemIdx+" err:"+err.message); | ||
| 233 | + } | ||
| 234 | + return null; | ||
| 235 | + } | ||
| 236 | + | ||
| 237 | + | ||
| 238 | + /////收到消息处理///////////////////////////////////////////////////////////////////////////////// | ||
| 140 | tableUpdateHandler(owner, itemIdx, itemData) { | 239 | tableUpdateHandler(owner, itemIdx, itemData) { |
| 141 | try { | 240 | try { |
| 142 | - let tabUpdatePdu = pdu["RCTabUpdateDataRequestPdu"].decode(itemData); | 241 | + let model=this.unPackPdu(owner, itemIdx,itemData); |
| 242 | + loger.log('tableUpdateHandler',model); | ||
| 243 | + } catch (e) { | ||
| 244 | + loger.warn('ConferApe table update got exception. itemIdx',itemIdx); | ||
| 245 | + } | ||
| 143 | 246 | ||
| 247 | +/* try { | ||
| 248 | + let tabUpdatePdu = pdu["RCTabUpdateDataRequestPdu"].decode(itemData); | ||
| 144 | const uncompressedBytes = new Zlib.Inflate(tabUpdatePdu.action.compact().view).decompress(); | 249 | const uncompressedBytes = new Zlib.Inflate(tabUpdatePdu.action.compact().view).decompress(); |
| 145 | let tabInfo = UTF8.getStringFromBytes(uncompressedBytes); | 250 | let tabInfo = UTF8.getStringFromBytes(uncompressedBytes); |
| 146 | let tabTypeMatches = tabInfo.match(/<TabType>(.+)<\/TabType>/); | 251 | let tabTypeMatches = tabInfo.match(/<TabType>(.+)<\/TabType>/); |
| @@ -152,8 +257,8 @@ class ConferApe extends Ape { | @@ -152,8 +257,8 @@ class ConferApe extends Ape { | ||
| 152 | } | 257 | } |
| 153 | } | 258 | } |
| 154 | } catch (e) { | 259 | } catch (e) { |
| 155 | - loger.warn('ConferApe table update got exception.'); | ||
| 156 | - } | 260 | + loger.warn('ConferApe table update got exception. itemIdx',itemIdx); |
| 261 | + }*/ | ||
| 157 | } | 262 | } |
| 158 | 263 | ||
| 159 | 264 |
| @@ -864,7 +864,12 @@ message RCWhiteBoardDataModel { | @@ -864,7 +864,12 @@ message RCWhiteBoardDataModel { | ||
| 864 | optional string text= 12;//文本内容 | 864 | optional string text= 12;//文本内容 |
| 865 | optional bytes data = 13;//暂时预留的参数 | 865 | optional bytes data = 13;//暂时预留的参数 |
| 866 | } | 866 | } |
| 867 | - | 867 | +message RCClassSendDataModelPdu { |
| 868 | + optional uint32 class_status= 1;//当前课堂状态 //0:未开始,1,开始,2,暂停 | ||
| 869 | + optional uint32 class_timestamp= 2;//目前用这个变量来记录时间 flash用的这个 | ||
| 870 | + optional uint32 item_idx=3; | ||
| 871 | + optional uint32 from=4; | ||
| 872 | +} | ||
| 868 | 873 | ||
| 869 | //end | 874 | //end |
| 870 | `; | 875 | `; |
-
请 注册 或 登录 后发表评论