/*
 * Copyright (C) 2025 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

syntax = "proto2";

package android.os.statsd.printing;

option java_outer_classname = "PrintingProtoEnums";
option java_multiple_files = true;

enum FrameworkPrintJobResult {
  FrameworkPrintJobResult_UNSPECIFIED = 0;
  FrameworkPrintJobResult_COMPLETED = 1;
  FrameworkPrintJobResult_CANCELLED = 2;
  FrameworkPrintJobResult_FAILED = 3;
}

enum FrameworkColorMode {
  FrameworkColorMode_UNSPECIFIED = 0;
  FrameworkColorMode_MONOCRHOME = 1;
  FrameworkColorMode_COLOR = 2;
}

enum FrameworkMediaSize {
  FrameworkMediaSize_UNSPECIFIED = 0;
  FrameworkMediaSize_UNKNOWN_PORTRAIT = 1;
  FrameworkMediaSize_UNKNOWN_LANDSCAPE = 2;
  FrameworkMediaSize_ISO_A0 = 3;
  FrameworkMediaSize_ISO_A1 = 4;
  FrameworkMediaSize_ISO_A2 = 5;
  FrameworkMediaSize_ISO_A3 = 6;
  FrameworkMediaSize_ISO_A4 = 7;
  FrameworkMediaSize_ISO_A5 = 8;
  FrameworkMediaSize_ISO_A6 = 9;
  FrameworkMediaSize_ISO_A7 = 10;
  FrameworkMediaSize_ISO_A8 = 11;
  FrameworkMediaSize_ISO_A9 = 12;
  FrameworkMediaSize_ISO_A10 = 13;
  FrameworkMediaSize_ISO_B0 = 14;
  FrameworkMediaSize_ISO_B1 = 15;
  FrameworkMediaSize_ISO_B2 = 16;
  FrameworkMediaSize_ISO_B3 = 17;
  FrameworkMediaSize_ISO_B4 = 18;
  FrameworkMediaSize_ISO_B5 = 19;
  FrameworkMediaSize_ISO_B6 = 20;
  FrameworkMediaSize_ISO_B7 = 21;
  FrameworkMediaSize_ISO_B8 = 22;
  FrameworkMediaSize_ISO_B9 = 23;
  FrameworkMediaSize_ISO_B10 = 24;
  FrameworkMediaSize_ISO_C0 = 25;
  FrameworkMediaSize_ISO_C1 = 26;
  FrameworkMediaSize_ISO_C2 = 27;
  FrameworkMediaSize_ISO_C3 = 28;
  FrameworkMediaSize_ISO_C4 = 29;
  FrameworkMediaSize_ISO_C5 = 30;
  FrameworkMediaSize_ISO_C6 = 31;
  FrameworkMediaSize_ISO_C7 = 32;
  FrameworkMediaSize_ISO_C8 = 33;
  FrameworkMediaSize_ISO_C9 = 34;
  FrameworkMediaSize_ISO_C10 = 35;
  FrameworkMediaSize_NA_LETTER = 36;
  FrameworkMediaSize_NA_GOVT_LETTER = 37;
  FrameworkMediaSize_NA_LEGAL = 38;
  FrameworkMediaSize_NA_JUNIOR_LEGAL = 39;
  FrameworkMediaSize_NA_LEDGER = 40;
  FrameworkMediaSize_NA_TABLOID = 41;
  FrameworkMediaSize_NA_INDEX_3X5 = 42;
  FrameworkMediaSize_NA_INDEX_4X6 = 43;
  FrameworkMediaSize_NA_INDEX_5X8 = 44;
  FrameworkMediaSize_NA_MONARCH = 45;
  FrameworkMediaSize_NA_QUARTO = 46;
  FrameworkMediaSize_NA_FOOLSCAP = 47;
  FrameworkMediaSize_ANSI_C = 48;
  FrameworkMediaSize_ANSI_D = 49;
  FrameworkMediaSize_ANSI_E = 50;
  FrameworkMediaSize_ANSI_F = 51;
  FrameworkMediaSize_NA_ARCH_A = 52;
  FrameworkMediaSize_NA_ARCH_B = 53;
  FrameworkMediaSize_NA_ARCH_C = 54;
  FrameworkMediaSize_NA_ARCH_D = 55;
  FrameworkMediaSize_NA_ARCH_E = 56;
  FrameworkMediaSize_NA_ARCH_E1 = 57;
  FrameworkMediaSize_NA_SUPER_B = 58;
  FrameworkMediaSize_ROC_8K = 59;
  FrameworkMediaSize_ROC_16K = 60;
  FrameworkMediaSize_PRC_1 = 61;
  FrameworkMediaSize_PRC_2 = 62;
  FrameworkMediaSize_PRC_3 = 63;
  FrameworkMediaSize_PRC_4 = 64;
  FrameworkMediaSize_PRC_5 = 65;
  FrameworkMediaSize_PRC_6 = 66;
  FrameworkMediaSize_PRC_7 = 67;
  FrameworkMediaSize_PRC_8 = 68;
  FrameworkMediaSize_PRC_9 = 69;
  FrameworkMediaSize_PRC_10 = 70;
  FrameworkMediaSize_PRC_16K = 71;
  FrameworkMediaSize_OM_PA_KAI = 72;
  FrameworkMediaSize_OM_DAI_PA_KAI = 73;
  FrameworkMediaSize_OM_JUURO_KU_KAI = 74;
  FrameworkMediaSize_JIS_B10 = 75;
  FrameworkMediaSize_JIS_B9 = 76;
  FrameworkMediaSize_JIS_B8 = 77;
  FrameworkMediaSize_JIS_B7 = 78;
  FrameworkMediaSize_JIS_B6 = 79;
  FrameworkMediaSize_JIS_B5 = 80;
  FrameworkMediaSize_JIS_B4 = 81;
  FrameworkMediaSize_JIS_B3 = 82;
  FrameworkMediaSize_JIS_B2 = 83;
  FrameworkMediaSize_JIS_B1 = 84;
  FrameworkMediaSize_JIS_B0 = 85;
  FrameworkMediaSize_JIS_EXEC = 86;
  FrameworkMediaSize_JPN_CHOU4 = 87;
  FrameworkMediaSize_JPN_CHOU3 = 88;
  FrameworkMediaSize_JPN_CHOU2 = 89;
  FrameworkMediaSize_JPN_HAGAKI = 90;
  FrameworkMediaSize_JPN_OUFUKU = 91;
  FrameworkMediaSize_JPN_KAHU = 92;
  FrameworkMediaSize_JPN_KAKU2 = 93;
  FrameworkMediaSize_JPN_YOU4 = 94;
  FrameworkMediaSize_JPN_OE_PHOTO_L = 95;
}

enum FrameworkDuplexMode {
  FrameworkDuplexMode_UNSPECIFIED = 0;
  FrameworkDuplexMode_NONE = 1;
  FrameworkDuplexMode_LONG_EDGE = 2;
  FrameworkDuplexMode_SHORT_EDGE = 3;
}

enum FrameworkOrientation {
  FrameworkOrientation_UNSPECIFIED = 0;
  FrameworkOrientation_PORTRAIT = 1;
  FrameworkOrientation_LANDSCAPE = 2;
}

enum FrameworkDocumentType {
  FrameworkDocumentType_UNSPECIFIED = 1;
  FrameworkDocumentType_DOCUMENT = 2;
  FrameworkDocumentType_PHOTO = 3;
}


// BIPS Enums
enum BipsJobOrigin {
  BipsJobOrigin_UNSPECIFIED = 0;
  BipsJobOrigin_DIRECT_PRINT = 1;
  BipsJobOrigin_SHARED_IMAGE = 2;
  BipsJobOrigin_SHARED_PDF = 3;
}

enum BipsPrintJobResult {
  BipsPrintJobResult_UNSPECIFIED = 0;
  BipsPrintJobResult_COMPLETED = 1;
  BipsPrintJobResult_CANCELLED = 2;
  BipsPrintJobResult_FAILED_CORRUPT = 3;
  BipsPrintJobResult_FAILED_CERTIFICATE = 4;
  BipsPrintJobResult_FAILED_UNKNOWN = 5;
}

enum BipsMediaType {
  BipsMediaType_UNSPECIFIED = 0;
  BipsMediaType_MEDIA_PLAIN = 1;
  BipsMediaType_MEDIA_SPECIAL = 2;
  BipsMediaType_MEDIA_PHOTO = 3;
  BipsMediaType_MEDIA_TRANSPARENCY = 4;
  BipsMediaType_MEDIA_IRON_ON = 5;
  BipsMediaType_MEDIA_IRON_ON_MIRROR = 6;
  BipsMediaType_MEDIA_ADVANCED_PHOTO = 7;
  BipsMediaType_MEDIA_FAST_TRANSPARENCY = 8;
  BipsMediaType_MEDIA_BROCHURE_GLOSSY = 9;
  BipsMediaType_MEDIA_BROCHURE_MATTE = 10;
  BipsMediaType_MEDIA_PHOTO_GLOSSY = 11;
  BipsMediaType_MEDIA_PHOTO_MATTE = 12;
  BipsMediaType_MEDIA_PREMIUM_PHOTO = 13;
  BipsMediaType_MEDIA_OTHER_PHOTO = 14;
  BipsMediaType_MEDIA_PRINTABLE_CD = 15;
  BipsMediaType_MEDIA_PREMIUM_PRESENTATION = 16;

  // New types above this line
  BipsMediaType_MEDIA_AUTO = 99;
  BipsMediaType_MEDIA_UNKNOWN = 100;
}

enum BipsPrinterDiscoveryScheme {
  BipsPrinterDiscoveryScheme_UNSPECIFIED = 0;
  BipsPrinterDiscoveryScheme_MDNS = 1;
  BipsPrinterDiscoveryScheme_MANUAL = 2;
  BipsPrinterDiscoveryScheme_P2P = 3;
}

enum BipsRequestCapabilitiesStatus {
  BipsRequestCapabilitiesStatus_UNSPECIFIED = 0;
  BipsRequestCapabilitiesStatus_OK = 1;
  BipsRequestCapabilitiesStatus_ERROR = 2;
  BipsRequestCapabilitiesStatus_CANCELLED = 3;
  BipsRequestCapabilitiesStatus_CORRUPT = 4;
  BipsRequestCapabilitiesStatus_BAD_CERTIFICATE = 5;
}
