15c735df2Sopenharmony_ci/*
25c735df2Sopenharmony_ci * Copyright (c) 2023-2023 Huawei Device Co., Ltd.
35c735df2Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
45c735df2Sopenharmony_ci * you may not use this file except in compliance with the License.
55c735df2Sopenharmony_ci * You may obtain a copy of the License at
65c735df2Sopenharmony_ci *
75c735df2Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
85c735df2Sopenharmony_ci *
95c735df2Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
105c735df2Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
115c735df2Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
125c735df2Sopenharmony_ci * See the License for the specific language governing permissions and
135c735df2Sopenharmony_ci * limitations under the License.
145c735df2Sopenharmony_ci */
155c735df2Sopenharmony_ci
165c735df2Sopenharmony_ci#ifndef BASE_LOCATION_MOCK_IF_SYSTEM_ABILITY_MANAGER_H
175c735df2Sopenharmony_ci#define BASE_LOCATION_MOCK_IF_SYSTEM_ABILITY_MANAGER_H
185c735df2Sopenharmony_ci
195c735df2Sopenharmony_ci#include "gmock/gmock.h"
205c735df2Sopenharmony_ci
215c735df2Sopenharmony_ci#include "if_system_ability_manager.h"
225c735df2Sopenharmony_ci
235c735df2Sopenharmony_cinamespace OHOS {
245c735df2Sopenharmony_cinamespace Location {
255c735df2Sopenharmony_ciclass MockIfSystemAbilityManager : public ISystemAbilityManager {
265c735df2Sopenharmony_cipublic:
275c735df2Sopenharmony_ci    MockIfSystemAbilityManager() {}
285c735df2Sopenharmony_ci    ~MockIfSystemAbilityManager() {}
295c735df2Sopenharmony_ci    MOCK_METHOD(sptr<IRemoteObject>, GetSystemAbility, (int32_t systemAbilityId));
305c735df2Sopenharmony_ci    MOCK_METHOD(sptr<IRemoteObject>, CheckSystemAbility, (int32_t systemAbilityId));
315c735df2Sopenharmony_ci    MOCK_METHOD(int32_t, RemoveSystemAbility, (int32_t systemAbilityId));
325c735df2Sopenharmony_ci    MOCK_METHOD(int32_t, SubscribeSystemAbility, (int32_t systemAbilityId,
335c735df2Sopenharmony_ci        const sptr<ISystemAbilityStatusChange>& listener));
345c735df2Sopenharmony_ci    MOCK_METHOD(int32_t, UnSubscribeSystemAbility, (int32_t systemAbilityId,
355c735df2Sopenharmony_ci        const sptr<ISystemAbilityStatusChange>& listener));
365c735df2Sopenharmony_ci    MOCK_METHOD(sptr<IRemoteObject>, GetSystemAbility, (int32_t systemAbilityId, const std::string& deviceId));
375c735df2Sopenharmony_ci    MOCK_METHOD(sptr<IRemoteObject>, CheckSystemAbility, (int32_t systemAbilityId, const std::string& deviceId));
385c735df2Sopenharmony_ci    MOCK_METHOD(int32_t, AddOnDemandSystemAbilityInfo, (int32_t systemAbilityId,
395c735df2Sopenharmony_ci        const std::u16string& localAbilityManagerName));
405c735df2Sopenharmony_ci
415c735df2Sopenharmony_ci    MOCK_METHOD(sptr<IRemoteObject>, CheckSystemAbility, (int32_t systemAbilityId, bool& isExist));
425c735df2Sopenharmony_ci    MOCK_METHOD(int32_t, AddSystemAbility, (int32_t systemAbilityId, const sptr<IRemoteObject>& ability,
435c735df2Sopenharmony_ci        const ISystemAbilityManager::SAExtraProp& extraProp));
445c735df2Sopenharmony_ci    MOCK_METHOD(int32_t, AddSystemProcess, (const std::u16string& procName, const sptr<IRemoteObject>& procObject));
455c735df2Sopenharmony_ci    MOCK_METHOD(int32_t, LoadSystemAbility, (int32_t systemAbilityId,
465c735df2Sopenharmony_ci        const sptr<ISystemAbilityLoadCallback>& callback));
475c735df2Sopenharmony_ci    MOCK_METHOD(int32_t, LoadSystemAbility, (int32_t systemAbilityId, const std::string& deviceId,
485c735df2Sopenharmony_ci        const sptr<ISystemAbilityLoadCallback>& callback));
495c735df2Sopenharmony_ci    MOCK_METHOD(int32_t, UnloadSystemAbility, (int32_t systemAbilityId));
505c735df2Sopenharmony_ci    MOCK_METHOD(int32_t, CancelUnloadSystemAbility, (int32_t systemAbilityId));
515c735df2Sopenharmony_ci    MOCK_METHOD(int32_t, GetRunningSystemProcess, (std::list<SystemProcessInfo>& systemProcessInfos));
525c735df2Sopenharmony_ci    MOCK_METHOD(int32_t, SubscribeSystemProcess, (const sptr<ISystemProcessStatusChange>& listener));
535c735df2Sopenharmony_ci    MOCK_METHOD(int32_t, UnSubscribeSystemProcess, (const sptr<ISystemProcessStatusChange>& listener));
545c735df2Sopenharmony_ci};
555c735df2Sopenharmony_ci} // namespace Location
565c735df2Sopenharmony_ci} // namespace OHOS
575c735df2Sopenharmony_ci#endif