1 /* 2 * Copyright (c) 2024 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 #ifndef INTERFACES_KITS_JS_SRC_MOD_BACKUP_PROPERTIES_SESSION_INCREMENTAL_BACKUP_N_EXPORTER_H 16 #define INTERFACES_KITS_JS_SRC_MOD_BACKUP_PROPERTIES_SESSION_INCREMENTAL_BACKUP_N_EXPORTER_H 17 18 #include "n_exporter.h" 19 20 namespace OHOS::FileManagement::Backup { 21 class SessionIncrementalBackupNExporter final : public LibN::NExporter { 22 public: 23 inline static const std::string className = "IncrementalBackupSession"; 24 25 bool Export() override; 26 std::string GetClassName() override; 27 28 static napi_value Constructor(napi_env env, napi_callback_info cbinfo); 29 static napi_value GetLocalCapabilities(napi_env env, napi_callback_info cbinfo); 30 static napi_value GetBackupDataSize(napi_env env, napi_callback_info cbinfo); 31 static napi_value AppendBundles(napi_env env, napi_callback_info cbinfo); 32 static napi_value Release(napi_env env, napi_callback_info cbinfo); 33 static napi_value Cancel(napi_env env, napi_callback_info cbinfo); 34 static napi_value CleanBundleTempDir(napi_env env, napi_callback_info cbinfo); 35 static napi_value GetCompatibilityInfo(napi_env env, napi_callback_info cbinfo); 36 37 SessionIncrementalBackupNExporter(napi_env env, napi_value exports); 38 ~SessionIncrementalBackupNExporter() override; 39 }; 40 } // namespace OHOS::FileManagement::Backup 41 #endif // INTERFACES_KITS_JS_SRC_MOD_BACKUP_PROPERTIES_SESSION_INCREMENTAL_BACKUP_N_EXPORTER_H