100600bfbSopenharmony_ci/* 200600bfbSopenharmony_ci * Copyright (c) 2021 Huawei Device Co., Ltd. 300600bfbSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 400600bfbSopenharmony_ci * you may not use this file except in compliance with the License. 500600bfbSopenharmony_ci * You may obtain a copy of the License at 600600bfbSopenharmony_ci * 700600bfbSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 800600bfbSopenharmony_ci * 900600bfbSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1000600bfbSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1100600bfbSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1200600bfbSopenharmony_ci * See the License for the specific language governing permissions and 1300600bfbSopenharmony_ci * limitations under the License. 1400600bfbSopenharmony_ci */ 1500600bfbSopenharmony_ci#ifndef HIDUMPER_ZIDL_DUMP_BROKER_PROXY_H 1600600bfbSopenharmony_ci#define HIDUMPER_ZIDL_DUMP_BROKER_PROXY_H 1700600bfbSopenharmony_ci#include <iremote_proxy.h> 1800600bfbSopenharmony_ci#include <nocopyable.h> 1900600bfbSopenharmony_ci#include "idump_broker.h" 2000600bfbSopenharmony_cinamespace OHOS { 2100600bfbSopenharmony_cinamespace HiviewDFX { 2200600bfbSopenharmony_ciclass DumpBrokerProxy : public IRemoteProxy<IDumpBroker> { 2300600bfbSopenharmony_cipublic: 2400600bfbSopenharmony_ci explicit DumpBrokerProxy(const sptr<IRemoteObject>& impl) 2500600bfbSopenharmony_ci : IRemoteProxy<IDumpBroker>(impl) {} 2600600bfbSopenharmony_ci ~DumpBrokerProxy() = default; 2700600bfbSopenharmony_ci DISALLOW_COPY_AND_MOVE(DumpBrokerProxy); 2800600bfbSopenharmony_cipublic: 2900600bfbSopenharmony_ci // Used for dump request 3000600bfbSopenharmony_ci int32_t Request(std::vector<std::u16string> &args, int outfd) override; 3100600bfbSopenharmony_ci // Used for scan pids list over limit 3200600bfbSopenharmony_ci int32_t ScanPidOverLimit(std::string requestType, int32_t limitSize, std::vector<int32_t> &pidList) override; 3300600bfbSopenharmony_ci // Used for count fd nums 3400600bfbSopenharmony_ci int32_t CountFdNums(int32_t pid, uint32_t &fdNums, std::string &detailFdInfo, std::string &topLeakedType) override; 3500600bfbSopenharmony_ciprivate: 3600600bfbSopenharmony_ci static inline BrokerDelegator<DumpBrokerProxy> delegator_; 3700600bfbSopenharmony_ci}; 3800600bfbSopenharmony_ci} // namespace HiviewDFX 3900600bfbSopenharmony_ci} // namespace OHOS 4000600bfbSopenharmony_ci#endif // HIDUMPER_ZIDL_DUMP_BROKER_PROXY_H 41