1/* 2 * Copyright (c) 2023-2023 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 16import { Log } from '@ohos/common'; 17import { P2PDiscovery } from '../discovery/P2pDiscovery'; 18import type DiscoveredPrinter from '../discovery/DiscoveredPrinter'; 19 20const TAG = 'P2PUtils'; 21 22export default class P2PUtils { 23 private static readonly connected: number = 0; 24 private static readonly unavailable: number = 4; 25 26 public static isOnConnected(printer: DiscoveredPrinter): boolean { 27 return printer.getDeviceStatus() === P2PUtils.connected; 28 } 29 30 public static isUnavailable(printer: DiscoveredPrinter): boolean { 31 return printer.getDeviceStatus() === P2PUtils.unavailable; 32 } 33 34 public static isP2p(printer: DiscoveredPrinter): boolean { 35 if (printer === undefined) { 36 Log.error(TAG, 'printer is undefined'); 37 return false; 38 } 39 if (printer.getPath().indexOf(P2PDiscovery.schemeP2p) >= 0) { 40 return true; 41 } 42 return false; 43 } 44}