• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16import rpc from "@ohos.rpc";
17import backgroundTaskManager from '@ohos.backgroundTaskManager';
18import featureAbility from '@ohos.ability.featureAbility';
19import wantAgent from '@ohos.wantAgent';
20
21function startContinuousTask() {
22    let wantAgentInfo = {
23        wants: [
24            {
25                bundleName: "com.ohos.rpctest",
26                abilityName: "com.ohos.rpctest.ServiceAbility"
27            }
28        ],
29        operationType: wantAgent.OperationType.START_SERVICE,
30        requestCode: 0,
31        wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
32    };
33
34    wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => {
35        try{
36            backgroundTaskManager.startBackgroundRunning(featureAbility.getContext(),
37            backgroundTaskManager.BackgroundMode.MULTI_DEVICE_CONNECTION, wantAgentObj).then(() => {
38            console.info("Operation startBackgroundRunning succeeded");
39        }).catch((err) => {
40            console.error("Operation startBackgroundRunning failed Cause: " + err);
41        });
42        }catch(error){
43            console.error(`Operation startBackgroundRunning failed. code is ${error.code} message is ${error.message}`);
44        }
45    });
46}
47
48function stopContinuousTask() {
49    try{
50        backgroundTaskManager.stopBackgroundRunning(featureAbility.getContext()).then(() => {
51            console.info("Operation stopBackgroundRunning succeeded");
52        }).catch((err) => {
53            console.error("Operation stopBackgroundRunning failed Cause: " + err);
54        });
55    }catch(error){
56        console.error(`Operation stopBackgroundRunning failed. code is ${error.code} message is ${error.message}`);
57    }
58}
59
60export default {
61    onStart() {
62        console.info('RpcServer: onStart');
63        startContinuousTask();
64        console.info('RpcServer: startContinuousTask');
65    },
66    onStop() {
67        console.info('RpcServer: onStop');
68        stopContinuousTask();
69        console.info('RpcServer: stopContinuousTask');
70    },
71    onCommand(want, startId) {
72        console.info('RpcServer: onCommand, want: ' + JSON.stringify(want) +', startId: ' + startId);
73    },
74    onConnect(want) {
75        console.info('RpcServer: service onConnect called.');
76        return new Stub("rpcTestAbility");
77    },
78    onDisconnect(want) {
79        console.info('RpcServer: service onDisConnect called.');
80    },
81    onReconnect(want) {
82        console.info('RpcServer: service onReConnect called.');
83    }
84}
85
86class MySequenceable {
87    num = null;
88    str = null;
89    constructor(num, string) {
90        this.num = num;
91        this.str = string;
92    }
93
94    marshalling(messageParcel) {
95        messageParcel.writeInt(this.num);
96        messageParcel.writeString(this.str);
97        return true;
98    }
99
100    unmarshalling(messageParcel) {
101        this.num = messageParcel.readInt();
102        this.str = messageParcel.readString();
103        return true;
104    }
105}
106
107class Stub extends rpc.RemoteObject {
108    constructor(descriptor) {
109        super(descriptor);
110    }
111    onRemoteRequest(code, data, reply, option) {
112        try{
113            console.info("onRemoteRequest: " + code);
114            console.info("-----------------syhsyhsysh:" + code);
115            if (code === 37){
116                console.info("case 37 start");
117                let tmp1 = data.readString();
118                console.info("onRemoteRequest readstring is " + tmp1);
119                let result =  reply.writeString("onRemoteRequest invoking");
120                console.info("onRemoteRequest writestring is " + result);
121                return true
122            } else if (code === 38){
123                console.info("case 38 start");
124                let tmp1 = data.readString();
125                console.info("onRemoteRequest readstring is " + tmp1);
126                let result =  reply.writeString(tmp1);
127                console.info("onRemoteRequest writestring is " + result);
128                return true
129            }else {
130                console.error("default case " + code);
131                return super.onRemoteRequest(code, data, reply, option);
132            }
133        } catch (error) {
134            console.info("onRemoteRequest: " + error);
135        }
136        return false
137    }
138    onRemoteMessageRequest(code, data, reply, option) {
139        try{
140            console.info("onRemoteMessageRequest: " + code);
141            console.info("-----------------syhsyhsysh:" + code);
142            switch(code) {
143                case 1:
144                    {
145                        console.info("case 1 start");
146                        let tmp1 = data.readByteArray();
147                        console.info("The server's readByteArray result is " + tmp1.length);
148                        let result =  reply.writeByteArray(tmp1);
149                        console.info("The server's writeByteArray result is " + result);
150                        return true
151                    }
152                case 2:
153                    {
154                        console.info("case 2 start");
155                        let tmp1 = data.readIntArray();
156                        console.info("The server's readIntArray " + tmp1.length);
157                        let result =  reply.writeIntArray(tmp1);
158                        console.info("The server's writeIntArray result is " + result);
159                        return true
160                    }
161                case 3:
162                    {
163                        console.info("case 3 start");
164                        let tmp1 = data.readFloatArray();
165                        console.info("The server's readFloatArray result is " + tmp1.length);
166                        let result =  reply.writeFloatArray(tmp1);
167                        console.info("The server's writeFloatArray result is " + result);
168                        return true
169                    }
170                case 4:
171                    {
172                        console.info("case 4 start");
173                        let tmp1 = data.readShortArray();
174                        console.info("The server's readShortArray result is " + tmp1.length);
175                        let result =  reply.writeShortArray(tmp1);
176                        console.info("The server's writeShortArray result is " + result);
177                        return true
178                    }
179                case 5:
180                    {
181                        console.info("case 5 start");
182                        let tmp1 = data.readLongArray();
183                        console.info("The server's readLongArray result is " + tmp1.length);
184                        let result =  reply.writeLongArray(tmp1);
185                        console.info("The server's writeLongArray result is " + result);
186                        return true
187                    }
188                case 6:
189                    {
190                        console.info("case 6 start");
191                        let tmp1 = data.readDoubleArray();
192                        console.info("The server's readDoubleArray result is " + tmp1.length);
193                        let result =  reply.writeDoubleArray(tmp1);
194                        console.info("The server's writeDoubleArray result is " + result);
195                        return true
196                    }
197                case 7:
198                    {
199                        console.info("case 7 start");
200                        let tmp1 = data.readBooleanArray();
201                        console.info("The server's readBooleanArray result is " + tmp1.length);
202                        let result =  reply.writeBooleanArray(tmp1);
203                        console.info("The server's writeBooleanArray result is " + result);
204                        return true
205                    }
206                case 8:
207                    {
208                        console.info("case 8 start");
209                        let tmp1 = data.readCharArray();
210                        console.info("The server's readCharArray result is " + tmp1.length);
211                        let result =  reply.writeCharArray(tmp1);
212                        console.info("The server's writeCharArray result is " + result);
213                        return true
214                    }
215                case 9:
216                    {
217                        console.info("case 9 start");
218                        let tmp1 = data.readStringArray();
219                        console.info("The server's readStringArray result is " + tmp1.length);
220                        let result =  reply.writeStringArray(tmp1);
221                        console.info("The server's writeStringArray result is " + result);
222                        return true
223                    }
224                case 10:
225                    {
226                        console.info("case 10 start");
227                        let tmp1 = data.readShort();
228                        console.info("The server's readShort result is " + tmp1);
229                        let result =  reply.writeShort(tmp1);
230                        console.info("The server's writeShort result is " + result);
231                        return true
232                    }
233                case 11:
234                    {
235                        console.info("case 11 start");
236                        let tmp1 = data.readLong();
237                        console.info("The server's readLong result is " + tmp1);
238                        let result =  reply.writeLong(tmp1);
239                        console.info("The server's writeLong result is " + result);
240                        return true
241                    }
242                case 12:
243                    {
244                        console.info("case 12 start");
245                        let tmp1 = data.readDouble();
246                        console.info("The server's readDouble result is " + tmp1);
247                        let result =  reply.writeDouble(tmp1);
248                        console.info("The server's writeDouble result is " + result);
249                        return true
250                    }
251                case 13:
252                    {
253                        console.info("case 13 start");
254                        let tmp1 = data.readBoolean();
255                        console.info("The server's readBoolean result is " + tmp1);
256                        let result =  reply.writeBoolean(tmp1);
257                        console.info("The server's writeBoolean result is " + result);
258                        return true
259                    }
260                case 14:
261                    {
262                        console.info("case 14 start");
263                        let tmp1 = data.readChar();
264                        console.info("The server's readChar result is " + tmp1);
265                        let result =  reply.writeChar(tmp1);
266                        console.info("The server's writeChar result is " + result);
267                        return true
268                    }
269                case 15:
270                    {
271                        console.info("case 15 start");
272                        let tmp1 = data.readString();
273                        console.info("The server's readString result is " + tmp1.length);
274                        let result =  reply.writeString(tmp1);
275                        console.info("The server's writeString result is " + result);
276                        return true
277                    }
278                case 16:
279                    {
280                        console.info("case 16 start");
281                        let tmp1 = data.readByte();
282                        console.info("The server's readByte result is " + tmp1);
283                        let result =  reply.writeByte(tmp1);
284                        console.info("The server's writeByte result is " + result);
285                        return true
286                    }
287                case 17:
288                    {
289                        console.info("case 17 start");
290                        let tmp1 = data.readInt();
291                        console.info("The server's readInt result is " + tmp1);
292                        let result =  reply.writeInt(tmp1);
293                        console.info("The server's writeInt result is " + result);
294                        return true
295                    }
296                case 18:
297                    {
298                        console.info("case 18 start");
299                        let tmp1 = data.readFloat();
300                        console.info("The server's readFloat result is " + tmp1);
301                        let result =  reply.writeFloat(tmp1);
302                        console.info("The server's writeFloat result is " + result);
303                        return true
304                    }
305                case 19:
306                    {
307                        console.info("case 19 start");
308                        var size = data.readInt();
309                        console.info("The server's readInt result is " + size);
310                        let tmp1 = data.readRawData(size);
311                        console.info("The server's readRawData result is " + tmp1.length);
312                        let size1 = reply.writeInt(size);
313                        console.info("The server's writeInt result is " + size1);
314                        let result = reply.writeRawData(tmp1, tmp1.length);
315                        console.info("The server's writeRawData result is " + result);
316                        return true
317                    }
318                case 20:
319                    {
320                        console.info("case 20 start");
321                        let listener = data.readRemoteObject();
322                        let num = data.readInt();
323                        let str = data.readString();
324                        console.info("case 20 num is " + num);
325                        console.info("case 20 str is " + str);
326                        let data2 = rpc.MessageParcel.create();
327                        let reply2 = rpc.MessageParcel.create();
328                        let option2 = new rpc.MessageOption();
329                        data2.writeInt(num);
330                        data2.writeString(str);
331                        console.info("case 20 start sendRequest");
332                        listener.sendRequest(1, data2, reply2, option2)
333                            .then(function(result) {
334                                console.info("send request done, error code: " + result.errCode );
335                            })
336                            .catch(function(e) {
337                                console.error("send request got exception: " + e);
338                            })
339                            .finally(() => {
340                                data2.reclaim();
341                                reply2.reclaim();
342                                console.info("case 20 test done");
343                            })
344                        reply.writeNoException();
345                        console.info("case 20 end");
346                        return true
347                    }
348                case 21:
349                    {
350                        console.info("case 21 start");
351                        let s = new MySequenceable(null, null);
352                        var tmp1 = data.readParcelable(s);
353                        console.info("server's readParcelable result is " + tmp1);
354                        let result =  reply.writeParcelable(s);
355                        console.info("server's writeParcelable result is " + result);
356                        return true
357                    }
358                case 22:
359                    {
360                        console.info("case 22 start");
361                        data.readException();
362                        console.info("readExcepetion ");
363                        var tmp = data.readInt();
364                        console.info("readInt result is " +tmp);
365                        reply.writeNoException();
366                        console.info("writeNoException result is ");
367                        var result = reply.writeInt(tmp);
368                        return true
369                    }
370                case 23:
371                    {
372                        console.info("case 23 start");
373                        var s = [new MySequenceable(null, null), new MySequenceable(null, null),
374                        new MySequenceable(null, null)];
375                        data.readParcelableArray(s);
376                        console.info("readParcelableArray result success");
377                        let result =  reply.writeParcelableArray(s);
378                        console.info("writeParcelableArray result is " + result);
379                        return true
380                    }
381                case 24:
382                    {
383                        console.info("case 24 start");
384                        let listeners = data.readRemoteObjectArray();
385                        console.info("The server's readRemoteObjectArray result is " + listeners.length);
386                        for (let i = 0; i < listeners.length; i++) {
387                            let option2 = new rpc.MessageOption();
388                            let data2 = rpc.MessageParcel.create();
389                            let reply2 = rpc.MessageParcel.create();
390                            listeners[i].sendRequest(1, data2, reply2, option2)
391                                .then(function(result) {
392                                    console.info("send request done, error code: " + result.errCode + ", index: " + i);
393                                })
394                                .catch(function(e) {
395                                    console.error("send request got exception: " + e);
396                                })
397                                .finally(() => {
398                                    data2.reclaim();
399                                    reply2.reclaim();
400                                    console.info("case 24 test done");
401                                })
402                        }
403                        console.info("The server's writeRemoteObjectArray result is " + result);
404                        return true
405                    }
406                case 25:
407                    {
408                        console.info("case 25 start");
409                        let tmp1 = data.readByte();
410                        let tmp2 = data.readShort();
411                        let tmp3 = data.readInt();
412                        let tmp4 = data.readLong();
413                        let tmp5 = data.readFloat();
414                        let tmp6 = data.readDouble();
415                        let tmp7 = data.readBoolean();
416                        let tmp8 = data.readChar();
417                        let tmp9 = data.readString();
418                        let s = new MySequenceable(null, null);
419                        let tmp10 = data.readParcelable(s);
420                        let result1 =  reply.writeByte(tmp1);
421                        let result2 =  reply.writeShort(tmp2);
422                        let result3 =  reply.writeInt(tmp3);
423                        let result4 =  reply.writeLong(tmp4);
424                        let result5 =  reply.writeFloat(tmp5);
425                        let result6 =  reply.writeDouble(tmp6);
426                        let result7 =  reply.writeBoolean(tmp7);
427                        let result8 =  reply.writeChar(tmp8);
428                        let result9 =  reply.writeString(tmp9);
429                        let result10 =  reply.writeParcelable(s);
430                        return true
431                    }
432                case 26:
433                    {
434                        console.info("case 26 start");
435                        let tmp1 = data.readByteArray();
436                        let tmp2 = data.readShortArray();
437                        let tmp3 = data.readIntArray();
438                        let tmp4 = data.readLongArray();
439                        let tmp5 = data.readFloatArray();
440                        let tmp6 = data.readDoubleArray();
441                        let tmp7 = data.readBooleanArray();
442                        let tmp8 = data.readCharArray();
443                        let tmp9 = data.readStringArray();
444                        let s = [new MySequenceable(null, null), new MySequenceable(null, null),
445                        new MySequenceable(null, null)];
446                        let tmp10 = data.readParcelableArray(s);
447                        let result1 =  reply.writeByteArray(tmp1);
448                        let result2 =  reply.writeShortArray(tmp2);
449                        let result3 =  reply.writeIntArray(tmp3);
450                        let result4 =  reply.writeLongArray(tmp4);
451                        let result5 =  reply.writeFloatArray(tmp5);
452                        let result6 =  reply.writeDoubleArray(tmp6);
453                        let result7 =  reply.writeBooleanArray(tmp7);
454                        let result8 =  reply.writeCharArray(tmp8);
455                        let result9 =  reply.writeStringArray(tmp9);
456                        let result10 =  reply.writeParcelableArray(s);
457                        return true
458                    }
459                case 27:
460
461                    {
462                        console.info("case 27 start");
463                        var ashmem = data.readAshmem();
464                        console.info("The server's readAshmem result is " + ashmem);
465                        var gongx = ashmem.mapReadOnlyAshmem();
466                        console.info("The server's gongxiang result is " + gongx);
467                        let huoqu = ashmem.getAshmemSize();
468                        console.info("The server's huoqu result is " + huoqu);
469                        let bytes = ashmem.readFromAshmem(huoqu, 0);
470                        console.info("The server's readFromAshmem result is " + bytes);
471                        let err = reply.writeNoException();
472                        console.info("The server's writeNoException result is " + err);
473                        var resultInt = reply.writeInt(bytes.length);
474                        console.info("The server's writeInt result is " + resultInt);
475                        let result =  reply.writeAshmem(ashmem);
476                        console.info("The server's writeAshmem result is " + result);
477                        ashmem.unmapAshmem();
478                        console.info("unmapAshmem success " );
479                        ashmem.closeAshmem();
480                        console.info("closeAshmem success ");
481                        return true
482                    }
483                case 28:
484                    {
485                        console.info("case 28 start");
486                        let s = new MySequenceable(null, null);
487                        var tmp1 = data.readParcelable(s);
488                        console.info("The server's readParcelable result is " + s);
489                        var result =  reply.writeParcelable(s);
490                        console.info("The server's writeParcelable result is " + s);
491                        return true
492                    }
493                case 29:
494                    {
495                        console.info("case 29 start");
496                        var tmp1 = data.readShort();
497                        var tmp2 = data.readShort();
498                        var tmp3 = data.readShort();
499                        var tmp4 = data.readShort();
500                        var tmp5 = data.readShort();
501                        console.info("The server's readShort result is " + tmp1 + tmp2 + tmp3 + tmp4 + tmp5);
502                        var result1 =  reply.writeShort(tmp1);
503                        var result2 =  reply.writeShort(tmp2);
504                        var result3 =  reply.writeShort(tmp3);
505                        var result4 =  reply.writeShort(tmp4);
506                        var result5 =  reply.writeShort(tmp5);
507                        console.info("The server's writeShort result is " + result1);
508                        return true
509                    }
510                case 30:
511                    {
512                        console.info("case 30 start");
513                        var tmp1 = data.readByte();
514                        var tmp2 = data.readByte();
515                        var tmp3 = data.readByte();
516                        var tmp4 = data.readByte();
517                        var tmp5 = data.readByte();
518                        console.info("The server's readByte result is " + tmp1 + tmp2 + tmp3 + tmp4 + tmp5);
519                        var result1 =  reply.writeByte(tmp1);
520                        var result2 =  reply.writeByte(tmp2);
521                        var result3 =  reply.writeByte(tmp3);
522                        var result4 =  reply.writeByte(tmp4);
523                        var result5 =  reply.writeByte(tmp5);
524                        console.info("The server's writeByte result is " + result1);
525                        return true
526                    }
527                case 31:
528                    {
529                        console.info("case 31 start");
530                        var tmp1 = data.readInt();
531                        var tmp2 = data.readInt();
532                        var tmp3 = data.readInt();
533                        var tmp4 = data.readInt();
534                        var tmp5 = data.readInt();
535                        console.info("The server's readInt result is " + tmp1 + tmp2 + tmp3 + tmp4 + tmp5);
536                        var result1 =  reply.writeInt(tmp1);
537                        var result2 =  reply.writeInt(tmp2);
538                        var result3 =  reply.writeInt(tmp3);
539                        var result4 =  reply.writeInt(tmp4);
540                        var result5 =  reply.writeInt(tmp5);
541                        console.info("The server's writeInt result is " + result1);
542                        return true
543                    }
544                case 32:
545                    {
546                        console.info("case 32 start");
547                        let callingPid = rpc.IPCSkeleton.getCallingPid();
548                        let callingUid = rpc.IPCSkeleton.getCallingUid();
549                        let callingDeviceID = rpc.IPCSkeleton.getCallingDeviceID();
550                        let localDeviceID = rpc.IPCSkeleton.getLocalDeviceID();
551                        let isLocalCalling = rpc.IPCSkeleton.isLocalCalling();
552                        reply.writeNoException();
553                        reply.writeInt(callingPid);
554                        reply.writeInt(callingUid);
555                        reply.writeString(callingDeviceID);
556                        reply.writeString(localDeviceID);
557                        reply.writeBoolean(isLocalCalling);
558                        reply.writeInt(this.getCallingPid());
559                        reply.writeInt(this.getCallingUid());
560                        console.info("getCallingUid the server result success");
561                        let id = rpc.IPCSkeleton.resetCallingIdentity();
562                        rpc.IPCSkeleton.setCallingIdentity(id);
563                        reply.writeInt(rpc.IPCSkeleton.getCallingPid());
564                        reply.writeInt(rpc.IPCSkeleton.getCallingUid());
565                        reply.writeInt(rpc.IPCSkeleton.flushCommands(this));
566                        console.info("IPCSkeleton the server result success");
567                        return true
568                    }
569                case 33:
570                    {
571                        console.info("case 33 starts");
572                        let callingPid = rpc.IPCSkeleton.getCallingPid();
573                        let callingUid = rpc.IPCSkeleton.getCallingUid();
574                        reply.writeNoException();
575                        reply.writeInt(callingPid);
576                        reply.writeInt(callingUid);
577                        reply.writeInt(this.getCallingPid());
578                        reply.writeInt(this.getCallingUid());
579                        console.info("getCallingUid the server result success");
580                        let id = rpc.IPCSkeleton.resetCallingIdentity();
581                        rpc.IPCSkeleton.setCallingIdentity(id);
582                        reply.writeInt(rpc.IPCSkeleton.getCallingPid());
583                        reply.writeInt(rpc.IPCSkeleton.getCallingUid());
584                        reply.writeInt(rpc.IPCSkeleton.flushCommands(this));
585                        console.info("IPCSkeleton the server result success");
586                        return true
587                    }
588                case 34:
589                    {
590                        console.info("case 34 start");
591                        let listeners = data.readRemoteObjectArray();
592                        console.info("The server's readRemoteObjectArray result is " + listeners.length);
593                        let num = data.readInt();
594                        let str = data.readString();
595                        let len = listeners.length;
596                        console.info("num is:" + num + "str is:" + str + "len is:" + len);
597                        for (let i = 0; i < len; i++) {
598                            let option2 = new rpc.MessageOption();
599                            let data2 = rpc.MessageParcel.create();
600                            let reply2 = rpc.MessageParcel.create();
601                            data2.writeInt(num);
602                            data2.writeString(str);
603                            console.info("case 34 start sendRequest");
604                            listeners[i].sendRequest(1, data2, reply2, option2)
605                                .then(function(result) {
606                                    console.info("send request done, error code: " + result.errCode);
607                                    console.info("result:" + reply2.readBoolean());
608                                })
609                                .catch(function(e) {
610                                    console.error("send request got exception: " + e);
611                                })
612                                .finally(() => {
613                                    data2.reclaim();
614                                    reply2.reclaim();
615                                    console.info("case 34 test done");
616                                })
617                        }
618                        reply.writeNoException();
619                        return true
620                    }
621                case 35:
622                    {
623                        console.info("case 35 start");
624                        let listeners = new Array(3);
625                        data.readRemoteObjectArray(listeners);
626                        let num = data.readInt();
627                        let str = data.readString();
628                        for (let i = 0; i < listeners.length; i++) {
629                            let option2 = new rpc.MessageOption();
630                            let data2 = rpc.MessageParcel.create();
631                            let reply2 = rpc.MessageParcel.create();
632                            data2.writeInt(num);
633                            data2.writeString(str);
634                            console.info("case 35 start sendRequest");
635                            listeners[i].sendRequest(1, data2, reply2, option2)
636                                .then(function(result) {
637                                    console.info("send request done, error code: " + result.errCode + ", index: " + i);
638                                })
639                                .catch(function(e) {
640                                    console.error("send request got exception: " + e);
641                                })
642                                .finally(() => {
643                                    data2.reclaim();
644                                    reply2.reclaim();
645                                    console.info("case 35 test done");
646                                })
647                        }
648                        reply.writeNoException();
649                        return true
650                    }
651                case 36:
652                    {
653                        console.info("case 36 start");
654                        let tmp = data.readInterfaceToken();
655                        console.info("The server's getSize and readInterfaceToken result is " + tmp.length);
656                        let result =  reply.writeInterfaceToken(tmp);
657                        console.info("The server's setSize and writeInterfaceToken result is " + result);
658                        return true
659                    }
660                case 37:
661                    {
662                        console.info("case 37 start");
663                        let tmp1 = data.readString();
664                        console.info("onRemoteRequest readstring is " + tmp1);
665                        let result =  reply.writeString("onRemoteMessageRequest invoking");
666                        console.info("onRemoteRequest writestring is " + result);
667                        return true
668                    }
669                default:
670                    this.onRemoteRequest(code, data, reply, option);
671            }
672        } catch (error) {
673            console.info("onRemoteMessageRequest: " + error);
674        }
675        return false
676    }
677}