1eace7efcSopenharmony_ci/* 2eace7efcSopenharmony_ci * Copyright (c) 2021 Huawei Device Co., Ltd. 3eace7efcSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4eace7efcSopenharmony_ci * you may not use this file except in compliance with the License. 5eace7efcSopenharmony_ci * You may obtain a copy of the License at 6eace7efcSopenharmony_ci * 7eace7efcSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8eace7efcSopenharmony_ci * 9eace7efcSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10eace7efcSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11eace7efcSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12eace7efcSopenharmony_ci * See the License for the specific language governing permissions and 13eace7efcSopenharmony_ci * limitations under the License. 14eace7efcSopenharmony_ci */ 15eace7efcSopenharmony_ci 16eace7efcSopenharmony_ci#ifndef MODULETEST_OHOS_ABILITY_RUNTIME_SYSTEM_ABILITY_H 17eace7efcSopenharmony_ci#define MODULETEST_OHOS_ABILITY_RUNTIME_SYSTEM_ABILITY_H 18eace7efcSopenharmony_ci 19eace7efcSopenharmony_ci#include "hilog/log.h" 20eace7efcSopenharmony_ci#include "hilog_tag_wrapper.h" 21eace7efcSopenharmony_ci#include "iremote_object.h" 22eace7efcSopenharmony_cinamespace OHOS { 23eace7efcSopenharmony_ci#define REGISTER_SYSTEM_ABILITY_BY_ID(a, b, c) 24eace7efcSopenharmony_ci#define REGISTER_SYSTEM_ABILITY(abilityClassName, abilityId, runOnCreate) 25eace7efcSopenharmony_ci#define DECLEAR_SYSTEM_ABILITY(className) 26eace7efcSopenharmony_ci 27eace7efcSopenharmony_cistatic constexpr HiviewDFX::HiLogLabel LABEL = { LOG_CORE, 0xD001100, "MockSystemAbility" }; 28eace7efcSopenharmony_ci 29eace7efcSopenharmony_ciclass SystemAbility { 30eace7efcSopenharmony_cipublic: 31eace7efcSopenharmony_ci static bool MakeAndRegisterAbility(SystemAbility*) 32eace7efcSopenharmony_ci { 33eace7efcSopenharmony_ci return true; 34eace7efcSopenharmony_ci } 35eace7efcSopenharmony_ci 36eace7efcSopenharmony_ci bool AddSystemAbilityListener(int32_t systemAbilityId); 37eace7efcSopenharmony_ci 38eace7efcSopenharmony_ciprotected: 39eace7efcSopenharmony_ci virtual void OnStart() 40eace7efcSopenharmony_ci { 41eace7efcSopenharmony_ci TAG_LOGD(AAFwkTag::TEST, "Mock SystemAbility OnStart called"); 42eace7efcSopenharmony_ci } 43eace7efcSopenharmony_ci 44eace7efcSopenharmony_ci virtual void OnStop() 45eace7efcSopenharmony_ci { 46eace7efcSopenharmony_ci TAG_LOGD(AAFwkTag::TEST, "Mock SystemAbility OnStop called"); 47eace7efcSopenharmony_ci } 48eace7efcSopenharmony_ci 49eace7efcSopenharmony_ci virtual void OnAddSystemAbility(int32_t systemAbilityId, const std::string& deviceId) 50eace7efcSopenharmony_ci { 51eace7efcSopenharmony_ci TAG_LOGD(AAFwkTag::TEST, "Mock SystemAbility OnAddSystemAbility called"); 52eace7efcSopenharmony_ci } 53eace7efcSopenharmony_ci 54eace7efcSopenharmony_ci virtual void OnRemoveSystemAbility(int32_t systemAbilityId, const std::string& deviceId) 55eace7efcSopenharmony_ci { 56eace7efcSopenharmony_ci TAG_LOGD(AAFwkTag::TEST, "Mock SystemAbility OnRemoveSystemAbility called"); 57eace7efcSopenharmony_ci } 58eace7efcSopenharmony_ci 59eace7efcSopenharmony_ci bool Publish(sptr<IRemoteObject> systemAbility) 60eace7efcSopenharmony_ci { 61eace7efcSopenharmony_ci TAG_LOGD(AAFwkTag::TEST, "Mock SystemAbility Publish called"); 62eace7efcSopenharmony_ci systemAbility.ForceSetRefPtr(nullptr); 63eace7efcSopenharmony_ci return true; 64eace7efcSopenharmony_ci } 65eace7efcSopenharmony_ci 66eace7efcSopenharmony_ci explicit SystemAbility(bool runOnCreate = false) 67eace7efcSopenharmony_ci { 68eace7efcSopenharmony_ci TAG_LOGD(AAFwkTag::TEST, "Mock SystemAbility default Creator called %d", runOnCreate); 69eace7efcSopenharmony_ci } 70eace7efcSopenharmony_ci 71eace7efcSopenharmony_ci SystemAbility(const int32_t serviceId, bool runOnCreate = false) 72eace7efcSopenharmony_ci { 73eace7efcSopenharmony_ci TAG_LOGD(AAFwkTag::TEST, "Mock SystemAbility Creator called %d", runOnCreate); 74eace7efcSopenharmony_ci } 75eace7efcSopenharmony_ci 76eace7efcSopenharmony_ci virtual ~SystemAbility() 77eace7efcSopenharmony_ci { 78eace7efcSopenharmony_ci TAG_LOGD(AAFwkTag::TEST, "Mock SystemAbility Destructor called"); 79eace7efcSopenharmony_ci } 80eace7efcSopenharmony_ci}; 81eace7efcSopenharmony_ci} // namespace OHOS 82eace7efcSopenharmony_ci#endif // MODULETEST_OHOS_ABILITY_RUNTIME_SYSTEM_ABILITY_H 83