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.printservice; 184b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov 19bb9f686b40743df2642b7d3b7778dbf7284ae665Philip P. Moltmannimport android.graphics.drawable.Icon; 204b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganovimport android.os.ParcelFileDescriptor; 214b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganovimport android.print.PrintJobInfo; 224b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganovimport android.print.PrinterId; 234b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganovimport android.print.PrinterInfo; 242fbd2a7f070f246ddafd9de94efa9a98861e9136Svetoslavimport android.print.PrintJobId; 252fbd2a7f070f246ddafd9de94efa9a98861e9136Svetoslavimport android.content.pm.ParceledListSlice; 264b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov 274b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov/** 284b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov * The top-level interface from a print service to the system. 294b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov * 304b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov * @hide 314b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov */ 324b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganovinterface IPrintServiceClient { 33a00271533f639c8ed36429c663889ac9f654bc72Svetoslav Ganov List<PrintJobInfo> getPrintJobInfos(); 342fbd2a7f070f246ddafd9de94efa9a98861e9136Svetoslav PrintJobInfo getPrintJobInfo(in PrintJobId printJobId); 352fbd2a7f070f246ddafd9de94efa9a98861e9136Svetoslav boolean setPrintJobState(in PrintJobId printJobId, int state, String error); 362fbd2a7f070f246ddafd9de94efa9a98861e9136Svetoslav boolean setPrintJobTag(in PrintJobId printJobId, String tag); 372fbd2a7f070f246ddafd9de94efa9a98861e9136Svetoslav oneway void writePrintJobData(in ParcelFileDescriptor fd, in PrintJobId printJobId); 38269403b032f965ff3847eb982c2f697229dc5a92Svetoslav 39b3078c235e7674fd61be75fb469105ba6174aba5Philip P. Moltmann /** 40b3078c235e7674fd61be75fb469105ba6174aba5Philip P. Moltmann * Set the progress of this print job 41b3078c235e7674fd61be75fb469105ba6174aba5Philip P. Moltmann * 42b3078c235e7674fd61be75fb469105ba6174aba5Philip P. Moltmann * @param printJobId The print job to update 43b3078c235e7674fd61be75fb469105ba6174aba5Philip P. Moltmann * @param progress The new progress 44b3078c235e7674fd61be75fb469105ba6174aba5Philip P. Moltmann */ 45b3078c235e7674fd61be75fb469105ba6174aba5Philip P. Moltmann void setProgress(in PrintJobId printJobId, in float progress); 46b3078c235e7674fd61be75fb469105ba6174aba5Philip P. Moltmann 47b3078c235e7674fd61be75fb469105ba6174aba5Philip P. Moltmann /** 48b3078c235e7674fd61be75fb469105ba6174aba5Philip P. Moltmann * Set the status of this print job 49b3078c235e7674fd61be75fb469105ba6174aba5Philip P. Moltmann * 50b3078c235e7674fd61be75fb469105ba6174aba5Philip P. Moltmann * @param printJobId The print job to update 51b3078c235e7674fd61be75fb469105ba6174aba5Philip P. Moltmann * @param status The new status, can be null 52b3078c235e7674fd61be75fb469105ba6174aba5Philip P. Moltmann */ 53b3078c235e7674fd61be75fb469105ba6174aba5Philip P. Moltmann void setStatus(in PrintJobId printJobId, in CharSequence status); 54b3078c235e7674fd61be75fb469105ba6174aba5Philip P. Moltmann 55d74d1e549168ba521e8009961b76e8718be37aa1Philip P. Moltmann /** 56d74d1e549168ba521e8009961b76e8718be37aa1Philip P. Moltmann * Set the status of this print job 57d74d1e549168ba521e8009961b76e8718be37aa1Philip P. Moltmann * 58d74d1e549168ba521e8009961b76e8718be37aa1Philip P. Moltmann * @param printJobId The print job to update 59d74d1e549168ba521e8009961b76e8718be37aa1Philip P. Moltmann * @param status The new status as a string resource 60d74d1e549168ba521e8009961b76e8718be37aa1Philip P. Moltmann * @param appPackageName The app package name the string belongs to 61d74d1e549168ba521e8009961b76e8718be37aa1Philip P. Moltmann */ 62d74d1e549168ba521e8009961b76e8718be37aa1Philip P. Moltmann void setStatusRes(in PrintJobId printJobId, int status, in CharSequence appPackageName); 63d74d1e549168ba521e8009961b76e8718be37aa1Philip P. Moltmann 642fbd2a7f070f246ddafd9de94efa9a98861e9136Svetoslav void onPrintersAdded(in ParceledListSlice printers); 652fbd2a7f070f246ddafd9de94efa9a98861e9136Svetoslav void onPrintersRemoved(in ParceledListSlice printerIds); 66bb9f686b40743df2642b7d3b7778dbf7284ae665Philip P. Moltmann 67bb9f686b40743df2642b7d3b7778dbf7284ae665Philip P. Moltmann /** 68bb9f686b40743df2642b7d3b7778dbf7284ae665Philip P. Moltmann * Handle that a custom icon for a printer was loaded. 69bb9f686b40743df2642b7d3b7778dbf7284ae665Philip P. Moltmann * 70bb9f686b40743df2642b7d3b7778dbf7284ae665Philip P. Moltmann * @param printerId the id of the printer the icon belongs to 71bb9f686b40743df2642b7d3b7778dbf7284ae665Philip P. Moltmann * @param icon the icon that was loaded 72bb9f686b40743df2642b7d3b7778dbf7284ae665Philip P. Moltmann * @see android.print.PrinterInfo.Builder#setHasCustomPrinterIcon() 73bb9f686b40743df2642b7d3b7778dbf7284ae665Philip P. Moltmann */ 74bb9f686b40743df2642b7d3b7778dbf7284ae665Philip P. Moltmann void onCustomPrinterIconLoaded(in PrinterId printerId, in Icon icon); 754b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov} 76