1049e185fSopenharmony_ci/* 2049e185fSopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 3049e185fSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4049e185fSopenharmony_ci * you may not use this file except in compliance with the License. 5049e185fSopenharmony_ci * You may obtain a copy of the License at 6049e185fSopenharmony_ci * 7049e185fSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8049e185fSopenharmony_ci * 9049e185fSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10049e185fSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11049e185fSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12049e185fSopenharmony_ci * See the License for the specific language governing permissions and 13049e185fSopenharmony_ci * limitations under the License. 14049e185fSopenharmony_ci */ 15049e185fSopenharmony_ci 16049e185fSopenharmony_ci#include "stub_common.h" 17049e185fSopenharmony_ci#include <iostream> 18049e185fSopenharmony_ci 19049e185fSopenharmony_cinamespace OHOS { 20049e185fSopenharmony_cinamespace Media { 21049e185fSopenharmony_cisptr<IRemoteObject> MediaServiceProxyFuzzer::GetSubSystemAbility(IStandardMediaService::MediaSystemAbility subSystemId, 22049e185fSopenharmony_ci const sptr<IRemoteObject> &listener) 23049e185fSopenharmony_ci{ 24049e185fSopenharmony_ci MessageParcel data; 25049e185fSopenharmony_ci MessageParcel reply; 26049e185fSopenharmony_ci MessageOption option; 27049e185fSopenharmony_ci 28049e185fSopenharmony_ci bool token = data.WriteInterfaceToken(MediaServiceProxyFuzzer::GetDescriptor()); 29049e185fSopenharmony_ci if (!token) { 30049e185fSopenharmony_ci std::cout << "Failed to write descriptor!" << std::endl; 31049e185fSopenharmony_ci return nullptr; 32049e185fSopenharmony_ci } 33049e185fSopenharmony_ci (void)data.WriteInt32(static_cast<int32_t>(subSystemId)); 34049e185fSopenharmony_ci (void)data.WriteRemoteObject(listener); 35049e185fSopenharmony_ci if (Remote()->SendRequest(MediaServiceMsg::GET_SUBSYSTEM, data, reply, option) != 0) { 36049e185fSopenharmony_ci std::cout << "Failed to SendRequest" << std::endl; 37049e185fSopenharmony_ci return nullptr; 38049e185fSopenharmony_ci } 39049e185fSopenharmony_ci return reply.ReadRemoteObject(); 40049e185fSopenharmony_ci} 41049e185fSopenharmony_ci} 42049e185fSopenharmony_ci}