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.
13bb9f686b40743df2642b7d3b7778dbf7284ae665Philip P. Moltmann * 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
19269403b032f965ff3847eb982c2f697229dc5a92Svetoslavimport android.print.PrinterId;
204b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganovimport android.print.PrintJobInfo;
214b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganovimport android.printservice.IPrintServiceClient;
224b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov
234b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov/**
244b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov * Top-level interface to a print service component.
254b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov *
264b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov * @hide
274b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov */
284b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganovoneway interface IPrintService {
294b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov    void setClient(IPrintServiceClient client);
30798bed6cc7d273e72b0253288605db9cd2b57740Svetoslav Ganov    void requestCancelPrintJob(in PrintJobInfo printJobInfo);
31a00271533f639c8ed36429c663889ac9f654bc72Svetoslav Ganov    void onPrintJobQueued(in PrintJobInfo printJobInfo);
32269403b032f965ff3847eb982c2f697229dc5a92Svetoslav
33269403b032f965ff3847eb982c2f697229dc5a92Svetoslav    void createPrinterDiscoverySession();
34269403b032f965ff3847eb982c2f697229dc5a92Svetoslav    void startPrinterDiscovery(in List<PrinterId> priorityList);
35269403b032f965ff3847eb982c2f697229dc5a92Svetoslav    void stopPrinterDiscovery();
36d26d4898fcc9b78f4b66118895c375384098205eSvetoslav Ganov    void validatePrinters(in List<PrinterId> printerIds);
37d26d4898fcc9b78f4b66118895c375384098205eSvetoslav Ganov    void startPrinterStateTracking(in PrinterId printerId);
38bb9f686b40743df2642b7d3b7778dbf7284ae665Philip P. Moltmann
39bb9f686b40743df2642b7d3b7778dbf7284ae665Philip P. Moltmann    /**
40bb9f686b40743df2642b7d3b7778dbf7284ae665Philip P. Moltmann     * Request the custom icon for a printer.
41bb9f686b40743df2642b7d3b7778dbf7284ae665Philip P. Moltmann     *
42bb9f686b40743df2642b7d3b7778dbf7284ae665Philip P. Moltmann     * @param printerId the id of the printer the icon should be loaded for
43bb9f686b40743df2642b7d3b7778dbf7284ae665Philip P. Moltmann     * @see android.print.PrinterInfo.Builder#setHasCustomPrinterIcon()
44bb9f686b40743df2642b7d3b7778dbf7284ae665Philip P. Moltmann     */
45bb9f686b40743df2642b7d3b7778dbf7284ae665Philip P. Moltmann    void requestCustomPrinterIcon(in PrinterId printerId);
46bb9f686b40743df2642b7d3b7778dbf7284ae665Philip P. Moltmann
47d26d4898fcc9b78f4b66118895c375384098205eSvetoslav Ganov    void stopPrinterStateTracking(in PrinterId printerId);
48269403b032f965ff3847eb982c2f697229dc5a92Svetoslav    void destroyPrinterDiscoverySession();
494b9a4d16872bbb50712e007b419ac0b35ff1582dSvetoslav Ganov}
50