/** * Copyright (c) 2024-2025 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include "hybrid/xgc/xgc.h" namespace arkplatform::mem { XGC *XGC::xgcInstance_ = nullptr; /* static */ bool XGC::Create() { if (xgcInstance_ != nullptr) { return false; } xgcInstance_ = new (std::nothrow) XGC(); return xgcInstance_ != nullptr; } /* static */ XGC *XGC::GetInstance() { return xgcInstance_; } /* static */ bool XGC::Destroy() { if (xgcInstance_ == nullptr) { return false; } delete xgcInstance_; return true; } void XGC::Trigger() { std::cout << "Trigger XGC" << std::endl; } } // namespace arkplatform::mem