1 /* 2 * Copyright (c) 2021 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef OHOS_ABILITY_RUNTIME_SYSTEM_MEMORY_ATTR_H 17 #define OHOS_ABILITY_RUNTIME_SYSTEM_MEMORY_ATTR_H 18 19 #include "parcel.h" 20 21 namespace OHOS { 22 namespace AppExecFwk { 23 /** 24 * @class SystemMemoryAttr 25 * SystemMemoryAttr is used to query system memory info. 26 */ 27 class SystemMemoryAttr : public Parcelable { 28 public: 29 SystemMemoryAttr(); 30 virtual ~SystemMemoryAttr() = default; 31 /** 32 * @default The available memory on the system 33 */ 34 int64_t availSysMem_; 35 36 /** 37 * @default The total memory on the system 38 */ 39 int64_t totalSysMem_; 40 41 /** 42 * @default The low memory threshold under which the system 43 * will kill background processes 44 */ 45 int64_t threshold_; 46 47 /** 48 * @default Whether the system is in low memory status 49 */ 50 bool isSysInlowMem_; 51 52 bool ReadFromParcel(Parcel &parcel); 53 virtual bool Marshalling(Parcel &parcel) const override; 54 static SystemMemoryAttr *Unmarshalling(Parcel &parcel); 55 }; 56 } // namespace AppExecFwk 57 } // namespace OHOS 58 #endif // OHOS_ABILITY_RUNTIME_SYSTEM_MEMORY_ATTR_H 59