1c36cf2e9Sopenharmony_ci/* 2c36cf2e9Sopenharmony_ci * Copyright (c) 2023-2023 Huawei Device Co., Ltd. 3c36cf2e9Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4c36cf2e9Sopenharmony_ci * you may not use this file except in compliance with the License. 5c36cf2e9Sopenharmony_ci * You may obtain a copy of the License at 6c36cf2e9Sopenharmony_ci * 7c36cf2e9Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8c36cf2e9Sopenharmony_ci * 9c36cf2e9Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10c36cf2e9Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11c36cf2e9Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12c36cf2e9Sopenharmony_ci * See the License for the specific language governing permissions and 13c36cf2e9Sopenharmony_ci * limitations under the License. 14c36cf2e9Sopenharmony_ci */ 15c36cf2e9Sopenharmony_ci 16c36cf2e9Sopenharmony_ciimport { AppStorageKeyName, Log, PrinterExtensionInfo } from '@ohos/common' 17c36cf2e9Sopenharmony_ciimport AppStorageHelper from '../Common/Adapter/AppStorageHelper' 18c36cf2e9Sopenharmony_ci 19c36cf2e9Sopenharmony_ciconst TAG = '[PrintExtensionModel]:' 20c36cf2e9Sopenharmony_ci 21c36cf2e9Sopenharmony_ciexport class PrintExtensionModel { 22c36cf2e9Sopenharmony_ci private mPrintExtensions: Array<PrinterExtensionInfo> = [] 23c36cf2e9Sopenharmony_ci 24c36cf2e9Sopenharmony_ci get getPrintExtensions():Array<PrinterExtensionInfo> { 25c36cf2e9Sopenharmony_ci return this.mPrintExtensions; 26c36cf2e9Sopenharmony_ci } 27c36cf2e9Sopenharmony_ci 28c36cf2e9Sopenharmony_ci set setPrintExtensions(array: Array<PrinterExtensionInfo>) { 29c36cf2e9Sopenharmony_ci this.mPrintExtensions = array; 30c36cf2e9Sopenharmony_ci } 31c36cf2e9Sopenharmony_ci 32c36cf2e9Sopenharmony_ci /** 33c36cf2e9Sopenharmony_ci * get all PrintExtension 34c36cf2e9Sopenharmony_ci */ 35c36cf2e9Sopenharmony_ci public dealGetAllPrintExtension(data: Array<PrinterExtensionInfo>) { 36c36cf2e9Sopenharmony_ci if (data === undefined) { 37c36cf2e9Sopenharmony_ci Log.error(TAG, 'dealGetAllPrintExtension return for null data'); 38c36cf2e9Sopenharmony_ci return; 39c36cf2e9Sopenharmony_ci } 40c36cf2e9Sopenharmony_ci this.mPrintExtensions = []; 41c36cf2e9Sopenharmony_ci for (let index = 0; index < data.length; index++) { 42c36cf2e9Sopenharmony_ci let newInfo = new PrinterExtensionInfo(data[index].extensionId, data[index].vendorId, 43c36cf2e9Sopenharmony_ci data[index].vendorName, data[index].vendorIcon, data[index].version); 44c36cf2e9Sopenharmony_ci this.mPrintExtensions.push(newInfo); 45c36cf2e9Sopenharmony_ci } 46c36cf2e9Sopenharmony_ci AppStorageHelper.setValue<Array<PrinterExtensionInfo>>(this.getPrintExtensions, AppStorageKeyName.PRINT_EXTENSION_LIST_NAME); 47c36cf2e9Sopenharmony_ci } 48c36cf2e9Sopenharmony_ci}