106f6ba60Sopenharmony_ci// Copyright (c) Huawei Technologies Co., Ltd. 2021. All rights reserved. 206f6ba60Sopenharmony_ci// Licensed under the Apache License, Version 2.0 (the "License"); 306f6ba60Sopenharmony_ci// you may not use this file except in compliance with the License. 406f6ba60Sopenharmony_ci// You may obtain a copy of the License at 506f6ba60Sopenharmony_ci// 606f6ba60Sopenharmony_ci// http://www.apache.org/licenses/LICENSE-2.0 706f6ba60Sopenharmony_ci// 806f6ba60Sopenharmony_ci// Unless required by applicable law or agreed to in writing, software 906f6ba60Sopenharmony_ci// distributed under the License is distributed on an "AS IS" BASIS, 1006f6ba60Sopenharmony_ci// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1106f6ba60Sopenharmony_ci// See the License for the specific language governing permissions and 1206f6ba60Sopenharmony_ci// limitations under the License. 1306f6ba60Sopenharmony_ci 1406f6ba60Sopenharmony_cisyntax = "proto3"; 1506f6ba60Sopenharmony_ci 1606f6ba60Sopenharmony_ciimport "plugin_service_types.proto"; 1706f6ba60Sopenharmony_ci 1806f6ba60Sopenharmony_ci// IPC interface between profiler service and plugin service. 1906f6ba60Sopenharmony_ci// Use protobuf plug-ins to convert proto define to 2006f6ba60Sopenharmony_ci// source and header files during the build process. 2106f6ba60Sopenharmony_ciservice IPluginService { 2206f6ba60Sopenharmony_ci 2306f6ba60Sopenharmony_ci rpc RegisterPlugin(RegisterPluginRequest) returns (RegisterPluginResponse); 2406f6ba60Sopenharmony_ci 2506f6ba60Sopenharmony_ci rpc UnregisterPlugin(UnregisterPluginRequest) returns (UnregisterPluginResponse); 2606f6ba60Sopenharmony_ci 2706f6ba60Sopenharmony_ci // service will use this interface to push commands with streamed return channel. 2806f6ba60Sopenharmony_ci rpc GetCommand(GetCommandRequest) returns (stream GetCommandResponse); 2906f6ba60Sopenharmony_ci 3006f6ba60Sopenharmony_ci rpc NotifyResult(NotifyResultRequest) returns (NotifyResultResponse); 3106f6ba60Sopenharmony_ci}; 32