14b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov/* 24b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov * Copyright (C) 2013 The Android Open Source Project 34b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov * 44b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov * Licensed under the Apache License, Version 2.0 (the "License"); 54b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov * you may not use this file except in compliance with the License. 64b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov * You may obtain a copy of the License at 74b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov * 84b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov * http://www.apache.org/licenses/LICENSE-2.0 94b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov * 104b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov * Unless required by applicable law or agreed to in writing, software 114b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov * distributed under the License is distributed on an "AS IS" BASIS, 124b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov * See the License for the specific language governing permissions and 144b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov * limitations under the License. 154b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov */ 164b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov 174b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganovpackage android.print; 184b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov 197bfbbcb04bf4ba8f3069b2df136f708c9849bacfSvetoslavimport android.os.Bundle; 2044720af55a8fdf991929983dad5d53c02851dd1eSvetoslav Ganovimport android.print.IPrinterDiscoveryObserver; 21a00271533f639c8ed36429c663889ac9f654bc72Svetoslav Ganovimport android.print.IPrintDocumentAdapter; 222fbd2a7f070f246ddafd9de94efa9a98861e9136Svetoslavimport android.print.PrintJobId; 23704697b6197262678e930daa831a1916ddee4dcfSvetoslav Ganovimport android.print.IPrintJobStateChangeListener; 2444720af55a8fdf991929983dad5d53c02851dd1eSvetoslav Ganovimport android.print.PrinterId; 254b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganovimport android.print.PrintJobInfo; 264b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganovimport android.print.PrintAttributes; 27860f8a6b663ca96d30d17da09eca8caf065aae62Svetoslav Ganovimport android.printservice.PrintServiceInfo; 284b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov 294b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov/** 304b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov * Interface for communication with the core print manager service. 314b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov * 324b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov * @hide 334b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov */ 344b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganovinterface IPrintManager { 35a00271533f639c8ed36429c663889ac9f654bc72Svetoslav Ganov List<PrintJobInfo> getPrintJobInfos(int appId, int userId); 362fbd2a7f070f246ddafd9de94efa9a98861e9136Svetoslav PrintJobInfo getPrintJobInfo(in PrintJobId printJobId, int appId, int userId); 377bfbbcb04bf4ba8f3069b2df136f708c9849bacfSvetoslav Bundle print(String printJobName, in IPrintDocumentAdapter printAdapter, 387bfbbcb04bf4ba8f3069b2df136f708c9849bacfSvetoslav in PrintAttributes attributes, String packageName, int appId, int userId); 392fbd2a7f070f246ddafd9de94efa9a98861e9136Svetoslav void cancelPrintJob(in PrintJobId printJobId, int appId, int userId); 402fbd2a7f070f246ddafd9de94efa9a98861e9136Svetoslav void restartPrintJob(in PrintJobId printJobId, int appId, int userId); 4144720af55a8fdf991929983dad5d53c02851dd1eSvetoslav Ganov 42704697b6197262678e930daa831a1916ddee4dcfSvetoslav Ganov void addPrintJobStateChangeListener(in IPrintJobStateChangeListener listener, 43704697b6197262678e930daa831a1916ddee4dcfSvetoslav Ganov int appId, int userId); 44704697b6197262678e930daa831a1916ddee4dcfSvetoslav Ganov void removePrintJobStateChangeListener(in IPrintJobStateChangeListener listener, 45704697b6197262678e930daa831a1916ddee4dcfSvetoslav Ganov int userId); 46704697b6197262678e930daa831a1916ddee4dcfSvetoslav Ganov 47d8dbc13b47bec3248a86a505a30af9d0474240dcSvetoslav List<PrintServiceInfo> getInstalledPrintServices(int userId); 48860f8a6b663ca96d30d17da09eca8caf065aae62Svetoslav Ganov List<PrintServiceInfo> getEnabledPrintServices(int userId); 49860f8a6b663ca96d30d17da09eca8caf065aae62Svetoslav Ganov 5044720af55a8fdf991929983dad5d53c02851dd1eSvetoslav Ganov void createPrinterDiscoverySession(in IPrinterDiscoveryObserver observer, int userId); 5144720af55a8fdf991929983dad5d53c02851dd1eSvetoslav Ganov void startPrinterDiscovery(in IPrinterDiscoveryObserver observer, 5244720af55a8fdf991929983dad5d53c02851dd1eSvetoslav Ganov in List<PrinterId> priorityList, int userId); 5344720af55a8fdf991929983dad5d53c02851dd1eSvetoslav Ganov void stopPrinterDiscovery(in IPrinterDiscoveryObserver observer, int userId); 54d26d4898fcc9b78f4b66118895c375384098205eSvetoslav Ganov void validatePrinters(in List<PrinterId> printerIds, int userId); 55d26d4898fcc9b78f4b66118895c375384098205eSvetoslav Ganov void startPrinterStateTracking(in PrinterId printerId, int userId); 56d26d4898fcc9b78f4b66118895c375384098205eSvetoslav Ganov void stopPrinterStateTracking(in PrinterId printerId, int userId); 5744720af55a8fdf991929983dad5d53c02851dd1eSvetoslav Ganov void destroyPrinterDiscoverySession(in IPrinterDiscoveryObserver observer, 5844720af55a8fdf991929983dad5d53c02851dd1eSvetoslav Ganov int userId); 594b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov} 60