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 type { P2PDiscovery } from './discovery/P2pDiscovery'; 17c36cf2e9Sopenharmony_ciimport type { P2PMonitor } from './discovery/P2pMonitor'; 18c36cf2e9Sopenharmony_ciimport type { MdnsDiscovery } from './discovery/MdnsDiscovery'; 19c36cf2e9Sopenharmony_ciimport { Log } from '@ohos/common'; 20c36cf2e9Sopenharmony_ciimport type { Backend } from './ipp/Backend'; 21c36cf2e9Sopenharmony_ciimport type { CapabilitiesCache } from './ipp/CapabilitiesCache'; 22c36cf2e9Sopenharmony_ciimport type { WifiModel } from './model/WifiModel'; 23c36cf2e9Sopenharmony_ciimport type { LocalDiscoverySession } from './LocalDiscoverySession'; 24c36cf2e9Sopenharmony_ciimport CheckEmptyUtils from '@ohos/common'; 25c36cf2e9Sopenharmony_ci 26c36cf2e9Sopenharmony_ciconst TAG = 'PrintServiceAdapter'; 27c36cf2e9Sopenharmony_ci 28c36cf2e9Sopenharmony_ciexport class PrintServiceAdapter { 29c36cf2e9Sopenharmony_ci private static instance: PrintServiceAdapter; 30c36cf2e9Sopenharmony_ci private _p2pDiscovery: P2PDiscovery; 31c36cf2e9Sopenharmony_ci private _mdnsDiscovery: MdnsDiscovery; 32c36cf2e9Sopenharmony_ci private _p2pMonitor: P2PMonitor; 33c36cf2e9Sopenharmony_ci private _backend: Backend; 34c36cf2e9Sopenharmony_ci private _capabilitiesCache: CapabilitiesCache; 35c36cf2e9Sopenharmony_ci private _wifiModel: WifiModel; 36c36cf2e9Sopenharmony_ci private _localDiscoverySession: LocalDiscoverySession; 37c36cf2e9Sopenharmony_ci 38c36cf2e9Sopenharmony_ci 39c36cf2e9Sopenharmony_ci public static getInstance(): PrintServiceAdapter { 40c36cf2e9Sopenharmony_ci Log.info(TAG, 'getInstance enter'); 41c36cf2e9Sopenharmony_ci if (CheckEmptyUtils.isEmpty(this.instance)) { 42c36cf2e9Sopenharmony_ci this.instance = new PrintServiceAdapter(); 43c36cf2e9Sopenharmony_ci } 44c36cf2e9Sopenharmony_ci return this.instance; 45c36cf2e9Sopenharmony_ci } 46c36cf2e9Sopenharmony_ci 47c36cf2e9Sopenharmony_ci private constructor() { 48c36cf2e9Sopenharmony_ci 49c36cf2e9Sopenharmony_ci } 50c36cf2e9Sopenharmony_ci 51c36cf2e9Sopenharmony_ci get localDiscoverySession(): LocalDiscoverySession { 52c36cf2e9Sopenharmony_ci return this._localDiscoverySession; 53c36cf2e9Sopenharmony_ci } 54c36cf2e9Sopenharmony_ci 55c36cf2e9Sopenharmony_ci set localDiscoverySession(localDiscoverySession: LocalDiscoverySession) { 56c36cf2e9Sopenharmony_ci this._localDiscoverySession = localDiscoverySession; 57c36cf2e9Sopenharmony_ci } 58c36cf2e9Sopenharmony_ci 59c36cf2e9Sopenharmony_ci /** 60c36cf2e9Sopenharmony_ci * get P2pMonitor 61c36cf2e9Sopenharmony_ci * 62c36cf2e9Sopenharmony_ci * @return P2pMonitor P2pMonitor 63c36cf2e9Sopenharmony_ci */ 64c36cf2e9Sopenharmony_ci get wifiModel(): WifiModel { 65c36cf2e9Sopenharmony_ci return this._wifiModel; 66c36cf2e9Sopenharmony_ci } 67c36cf2e9Sopenharmony_ci 68c36cf2e9Sopenharmony_ci /** 69c36cf2e9Sopenharmony_ci * set P2pMonitor 70c36cf2e9Sopenharmony_ci * 71c36cf2e9Sopenharmony_ci * @param p2pMonitor P2pMonitor 72c36cf2e9Sopenharmony_ci */ 73c36cf2e9Sopenharmony_ci set wifiModel(wifiModel: WifiModel) { 74c36cf2e9Sopenharmony_ci this._wifiModel = wifiModel; 75c36cf2e9Sopenharmony_ci } 76c36cf2e9Sopenharmony_ci 77c36cf2e9Sopenharmony_ci 78c36cf2e9Sopenharmony_ci /** 79c36cf2e9Sopenharmony_ci * get CapabilitiesCache 80c36cf2e9Sopenharmony_ci * 81c36cf2e9Sopenharmony_ci * @return getCapabilitiesCache getCapabilitiesCache 82c36cf2e9Sopenharmony_ci */ 83c36cf2e9Sopenharmony_ci get capabilitiesCache(): CapabilitiesCache { 84c36cf2e9Sopenharmony_ci return this._capabilitiesCache; 85c36cf2e9Sopenharmony_ci } 86c36cf2e9Sopenharmony_ci 87c36cf2e9Sopenharmony_ci /** 88c36cf2e9Sopenharmony_ci * set CapabilitiesCache 89c36cf2e9Sopenharmony_ci * 90c36cf2e9Sopenharmony_ci * @param capabilitiesCache CapabilitiesCache 91c36cf2e9Sopenharmony_ci */ 92c36cf2e9Sopenharmony_ci set capabilitiesCache(capabilitiesCache: CapabilitiesCache) { 93c36cf2e9Sopenharmony_ci this._capabilitiesCache = capabilitiesCache; 94c36cf2e9Sopenharmony_ci } 95c36cf2e9Sopenharmony_ci 96c36cf2e9Sopenharmony_ci /** 97c36cf2e9Sopenharmony_ci * get P2pDiscovery 98c36cf2e9Sopenharmony_ci * 99c36cf2e9Sopenharmony_ci * @return P2pDiscovery P2pDiscovery 100c36cf2e9Sopenharmony_ci */ 101c36cf2e9Sopenharmony_ci get p2pDiscovery(): P2PDiscovery { 102c36cf2e9Sopenharmony_ci return this._p2pDiscovery; 103c36cf2e9Sopenharmony_ci } 104c36cf2e9Sopenharmony_ci 105c36cf2e9Sopenharmony_ci /** 106c36cf2e9Sopenharmony_ci * set P2pDiscovery 107c36cf2e9Sopenharmony_ci * 108c36cf2e9Sopenharmony_ci * @param p2pDiscovery P2pDiscovery 109c36cf2e9Sopenharmony_ci */ 110c36cf2e9Sopenharmony_ci set p2pDiscovery(p2pDiscovery: P2PDiscovery) { 111c36cf2e9Sopenharmony_ci this._p2pDiscovery = p2pDiscovery; 112c36cf2e9Sopenharmony_ci } 113c36cf2e9Sopenharmony_ci 114c36cf2e9Sopenharmony_ci /** 115c36cf2e9Sopenharmony_ci * get Backend 116c36cf2e9Sopenharmony_ci * 117c36cf2e9Sopenharmony_ci * @return Backend Backend 118c36cf2e9Sopenharmony_ci */ 119c36cf2e9Sopenharmony_ci get backend(): Backend { 120c36cf2e9Sopenharmony_ci return this._backend; 121c36cf2e9Sopenharmony_ci } 122c36cf2e9Sopenharmony_ci 123c36cf2e9Sopenharmony_ci /** 124c36cf2e9Sopenharmony_ci * set Backend 125c36cf2e9Sopenharmony_ci * 126c36cf2e9Sopenharmony_ci * @param backend Backend 127c36cf2e9Sopenharmony_ci */ 128c36cf2e9Sopenharmony_ci set backend(backend: Backend) { 129c36cf2e9Sopenharmony_ci this._backend = backend; 130c36cf2e9Sopenharmony_ci } 131c36cf2e9Sopenharmony_ci 132c36cf2e9Sopenharmony_ci /** 133c36cf2e9Sopenharmony_ci * get MdnsDiscovery 134c36cf2e9Sopenharmony_ci * 135c36cf2e9Sopenharmony_ci * @return MdnsDiscovery 136c36cf2e9Sopenharmony_ci */ 137c36cf2e9Sopenharmony_ci get mdnsDiscovery(): MdnsDiscovery { 138c36cf2e9Sopenharmony_ci return this._mdnsDiscovery; 139c36cf2e9Sopenharmony_ci } 140c36cf2e9Sopenharmony_ci 141c36cf2e9Sopenharmony_ci /** 142c36cf2e9Sopenharmony_ci * set MdnsDiscovery 143c36cf2e9Sopenharmony_ci * 144c36cf2e9Sopenharmony_ci * @param MdnsDiscovery 145c36cf2e9Sopenharmony_ci */ 146c36cf2e9Sopenharmony_ci set mdnsDiscovery(mdnsDiscovery: MdnsDiscovery) { 147c36cf2e9Sopenharmony_ci this._mdnsDiscovery = mdnsDiscovery; 148c36cf2e9Sopenharmony_ci } 149c36cf2e9Sopenharmony_ci 150c36cf2e9Sopenharmony_ci 151c36cf2e9Sopenharmony_ci /** 152c36cf2e9Sopenharmony_ci * get MdnsDiscovery 153c36cf2e9Sopenharmony_ci * 154c36cf2e9Sopenharmony_ci * @return MdnsDiscovery 155c36cf2e9Sopenharmony_ci */ 156c36cf2e9Sopenharmony_ci get p2pMonitor(): P2PMonitor { 157c36cf2e9Sopenharmony_ci return this._p2pMonitor; 158c36cf2e9Sopenharmony_ci } 159c36cf2e9Sopenharmony_ci 160c36cf2e9Sopenharmony_ci /** 161c36cf2e9Sopenharmony_ci * set MdnsDiscovery 162c36cf2e9Sopenharmony_ci * 163c36cf2e9Sopenharmony_ci * @param MdnsDiscovery 164c36cf2e9Sopenharmony_ci */ 165c36cf2e9Sopenharmony_ci set p2pMonitor(p2pMonitor: P2PMonitor) { 166c36cf2e9Sopenharmony_ci this._p2pMonitor = p2pMonitor; 167c36cf2e9Sopenharmony_ci } 168c36cf2e9Sopenharmony_ci}