10704ebd2Sopenharmony_ci/* 20704ebd2Sopenharmony_ci * Copyright (C) 2024 Huawei Device Co., Ltd. 30704ebd2Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 40704ebd2Sopenharmony_ci * you may not use this file except in compliance with the License. 50704ebd2Sopenharmony_ci * You may obtain a copy of the License at 60704ebd2Sopenharmony_ci * 70704ebd2Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 80704ebd2Sopenharmony_ci * 90704ebd2Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 100704ebd2Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 110704ebd2Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 120704ebd2Sopenharmony_ci * See the License for the specific language governing permissions and 130704ebd2Sopenharmony_ci * limitations under the License. 140704ebd2Sopenharmony_ci */ 150704ebd2Sopenharmony_ci 160704ebd2Sopenharmony_cilet logTag = 'RpcServer_ApiMessage: '; 170704ebd2Sopenharmony_ciexport default class ApiMessage { 180704ebd2Sopenharmony_ci _deviceName = null; 190704ebd2Sopenharmony_ci _className = null; 200704ebd2Sopenharmony_ci _methodName = null; 210704ebd2Sopenharmony_ci _apiSession = null; 220704ebd2Sopenharmony_ci _parameterTypes = null; 230704ebd2Sopenharmony_ci _parameters = null; 240704ebd2Sopenharmony_ci _apiResult = null; 250704ebd2Sopenharmony_ci 260704ebd2Sopenharmony_ci constructor(deviceName, className, methodName, apiSession, parameterTypes, parameters, apiResult) { 270704ebd2Sopenharmony_ci this._deviceName = deviceName; 280704ebd2Sopenharmony_ci this._className = className; 290704ebd2Sopenharmony_ci this._methodName = methodName; 300704ebd2Sopenharmony_ci this._apiSession = apiSession; 310704ebd2Sopenharmony_ci this._parameterTypes = parameterTypes; 320704ebd2Sopenharmony_ci this._parameters = parameters; 330704ebd2Sopenharmony_ci this._apiResult = apiResult; 340704ebd2Sopenharmony_ci 350704ebd2Sopenharmony_ci } 360704ebd2Sopenharmony_ci marshalling(messageSequence: rpc.MessageSequence) { 370704ebd2Sopenharmony_ci console.log(logTag + "into marshalling."); 380704ebd2Sopenharmony_ci messageSequence.writeString(this._deviceName); 390704ebd2Sopenharmony_ci messageSequence.writeString(this._className); 400704ebd2Sopenharmony_ci messageSequence.writeString(this._methodName); 410704ebd2Sopenharmony_ci messageSequence.writeString(this._apiSession); 420704ebd2Sopenharmony_ci console.log(logTag + "writeString successfully."); 430704ebd2Sopenharmony_ci messageSequence.writeStringArray(this._parameterTypes); 440704ebd2Sopenharmony_ci messageSequence.writeStringArray(this._parameters); 450704ebd2Sopenharmony_ci messageSequence.writeString(this._apiResult); 460704ebd2Sopenharmony_ci console.log(logTag + "marshalling successfully."); 470704ebd2Sopenharmony_ci return true; 480704ebd2Sopenharmony_ci } 490704ebd2Sopenharmony_ci 500704ebd2Sopenharmony_ci unmarshalling(messageSequence: rpc.MessageSequence) { 510704ebd2Sopenharmony_ci console.log(logTag + "into unmarshalling."); 520704ebd2Sopenharmony_ci this._deviceName = messageSequence.readString(); 530704ebd2Sopenharmony_ci this._className = messageSequence.readString(); 540704ebd2Sopenharmony_ci this._methodName = messageSequence.readString(); 550704ebd2Sopenharmony_ci this._apiSession = messageSequence.readString(); 560704ebd2Sopenharmony_ci this._parameterTypes = messageSequence.readStringArray(); 570704ebd2Sopenharmony_ci this._parameters = messageSequence.readStringArray(); 580704ebd2Sopenharmony_ci this._apiResult = messageSequence.readString(); 590704ebd2Sopenharmony_ci console.log(logTag + "unmarshalling successfully."); 600704ebd2Sopenharmony_ci return true; 610704ebd2Sopenharmony_ci } 620704ebd2Sopenharmony_ci} 63