//
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: license_protocol.proto
//
#pragma warning disable 1591, 0612, 3021, 8981
#region Designer generated code
using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace AudibleUtilities.Widevine;
/// Holder for reflection information generated from license_protocol.proto
internal static partial class LicenseProtocolReflection {
#region Descriptor
/// File descriptor for license_protocol.proto
public static pbr::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbr::FileDescriptor descriptor;
static LicenseProtocolReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"ChZsaWNlbnNlX3Byb3RvY29sLnByb3RvEhFBQVhDbGVhbi5XaWRldmluZSKz",
"AQoVTGljZW5zZUlkZW50aWZpY2F0aW9uEhIKCnJlcXVlc3RfaWQYASABKAwS",
"EgoKc2Vzc2lvbl9pZBgCIAEoDBITCgtwdXJjaGFzZV9pZBgDIAEoDBIsCgR0",
"eXBlGAQgASgOMh4uQUFYQ2xlYW4uV2lkZXZpbmUuTGljZW5zZVR5cGUSDwoH",
"dmVyc2lvbhgFIAEoBRIeChZwcm92aWRlcl9zZXNzaW9uX3Rva2VuGAYgASgM",
"ItsXCgdMaWNlbnNlEjQKAmlkGAEgASgLMiguQUFYQ2xlYW4uV2lkZXZpbmUu",
"TGljZW5zZUlkZW50aWZpY2F0aW9uEjEKBnBvbGljeRgCIAEoCzIhLkFBWENs",
"ZWFuLldpZGV2aW5lLkxpY2Vuc2UuUG9saWN5EjQKA2tleRgDIAMoCzInLkFB",
"WENsZWFuLldpZGV2aW5lLkxpY2Vuc2UuS2V5Q29udGFpbmVyEhoKEmxpY2Vu",
"c2Vfc3RhcnRfdGltZRgEIAEoAxIqChtyZW1vdGVfYXR0ZXN0YXRpb25fdmVy",
"aWZpZWQYBSABKAg6BWZhbHNlEh0KFXByb3ZpZGVyX2NsaWVudF90b2tlbhgG",
"IAEoDBIZChFwcm90ZWN0aW9uX3NjaGVtZRgHIAEoDRIXCg9zcm1fcmVxdWly",
"ZW1lbnQYCCABKAwSEgoKc3JtX3VwZGF0ZRgJIAEoDBJtChxwbGF0Zm9ybV92",
"ZXJpZmljYXRpb25fc3RhdHVzGAogASgOMi0uQUFYQ2xlYW4uV2lkZXZpbmUu",
"UGxhdGZvcm1WZXJpZmljYXRpb25TdGF0dXM6GFBMQVRGT1JNX05PX1ZFUklG",
"SUNBVElPThIRCglncm91cF9pZHMYCyADKAwargQKBlBvbGljeRIXCghjYW5f",
"cGxheRgBIAEoCDoFZmFsc2USGgoLY2FuX3BlcnNpc3QYAiABKAg6BWZhbHNl",
"EhgKCWNhbl9yZW5ldxgDIAEoCDoFZmFsc2USIgoXcmVudGFsX2R1cmF0aW9u",
"X3NlY29uZHMYBCABKAM6ATASJAoZcGxheWJhY2tfZHVyYXRpb25fc2Vjb25k",
"cxgFIAEoAzoBMBIjChhsaWNlbnNlX2R1cmF0aW9uX3NlY29uZHMYBiABKAM6",
"ATASLAohcmVuZXdhbF9yZWNvdmVyeV9kdXJhdGlvbl9zZWNvbmRzGAcgASgD",
"OgEwEhoKEnJlbmV3YWxfc2VydmVyX3VybBgIIAEoCRIgChVyZW5ld2FsX2Rl",
"bGF5X3NlY29uZHMYCSABKAM6ATASKQoecmVuZXdhbF9yZXRyeV9pbnRlcnZh",
"bF9zZWNvbmRzGAogASgDOgEwEh8KEHJlbmV3X3dpdGhfdXNhZ2UYCyABKAg6",
"BWZhbHNlEicKGGFsd2F5c19pbmNsdWRlX2NsaWVudF9pZBgMIAEoCDoFZmFs",
"c2USKgofcGxheV9zdGFydF9ncmFjZV9wZXJpb2Rfc2Vjb25kcxgNIAEoAzoB",
"MBItCh5zb2Z0X2VuZm9yY2VfcGxheWJhY2tfZHVyYXRpb24YDiABKAg6BWZh",
"bHNlEioKHHNvZnRfZW5mb3JjZV9yZW50YWxfZHVyYXRpb24YDyABKAg6BHRy",
"dWUazg8KDEtleUNvbnRhaW5lchIKCgJpZBgBIAEoDBIKCgJpdhgCIAEoDBIL",
"CgNrZXkYAyABKAwSPQoEdHlwZRgEIAEoDjIvLkFBWENsZWFuLldpZGV2aW5l",
"LkxpY2Vuc2UuS2V5Q29udGFpbmVyLktleVR5cGUSVgoFbGV2ZWwYBSABKA4y",
"NS5BQVhDbGVhbi5XaWRldmluZS5MaWNlbnNlLktleUNvbnRhaW5lci5TZWN1",
"cml0eUxldmVsOhBTV19TRUNVUkVfQ1JZUFRPElUKE3JlcXVpcmVkX3Byb3Rl",
"Y3Rpb24YBiABKAsyOC5BQVhDbGVhbi5XaWRldmluZS5MaWNlbnNlLktleUNv",
"bnRhaW5lci5PdXRwdXRQcm90ZWN0aW9uElYKFHJlcXVlc3RlZF9wcm90ZWN0",
"aW9uGAcgASgLMjguQUFYQ2xlYW4uV2lkZXZpbmUuTGljZW5zZS5LZXlDb250",
"YWluZXIuT3V0cHV0UHJvdGVjdGlvbhJHCgtrZXlfY29udHJvbBgIIAEoCzIy",
"LkFBWENsZWFuLldpZGV2aW5lLkxpY2Vuc2UuS2V5Q29udGFpbmVyLktleUNv",
"bnRyb2wSbwogb3BlcmF0b3Jfc2Vzc2lvbl9rZXlfcGVybWlzc2lvbnMYCSAB",
"KAsyRS5BQVhDbGVhbi5XaWRldmluZS5MaWNlbnNlLktleUNvbnRhaW5lci5P",
"cGVyYXRvclNlc3Npb25LZXlQZXJtaXNzaW9ucxJnChx2aWRlb19yZXNvbHV0",
"aW9uX2NvbnN0cmFpbnRzGAogAygLMkEuQUFYQ2xlYW4uV2lkZXZpbmUuTGlj",
"ZW5zZS5LZXlDb250YWluZXIuVmlkZW9SZXNvbHV0aW9uQ29uc3RyYWludBIo",
"ChlhbnRpX3JvbGxiYWNrX3VzYWdlX3RhYmxlGAsgASgIOgVmYWxzZRITCgt0",
"cmFja19sYWJlbBgMIAEoCRozCgpLZXlDb250cm9sEhkKEWtleV9jb250cm9s",
"X2Jsb2NrGAEgASgMEgoKAml2GAIgASgMGv4EChBPdXRwdXRQcm90ZWN0aW9u",
"ElYKBGhkY3AYASABKA4yPS5BQVhDbGVhbi5XaWRldmluZS5MaWNlbnNlLktl",
"eUNvbnRhaW5lci5PdXRwdXRQcm90ZWN0aW9uLkhEQ1A6CUhEQ1BfTk9ORRJc",
"CgpjZ21zX2ZsYWdzGAIgASgOMj0uQUFYQ2xlYW4uV2lkZXZpbmUuTGljZW5z",
"ZS5LZXlDb250YWluZXIuT3V0cHV0UHJvdGVjdGlvbi5DR01TOglDR01TX05P",
"TkUSbwoNaGRjcF9zcm1fcnVsZRgDIAEoDjJELkFBWENsZWFuLldpZGV2aW5l",
"LkxpY2Vuc2UuS2V5Q29udGFpbmVyLk91dHB1dFByb3RlY3Rpb24uSGRjcFNy",
"bVJ1bGU6EkhEQ1BfU1JNX1JVTEVfTk9ORRIkChVkaXNhYmxlX2FuYWxvZ19v",
"dXRwdXQYBCABKAg6BWZhbHNlEiUKFmRpc2FibGVfZGlnaXRhbF9vdXRwdXQY",
"BSABKAg6BWZhbHNlInkKBEhEQ1ASDQoJSERDUF9OT05FEAASCwoHSERDUF9W",
"MRABEgsKB0hEQ1BfVjIQAhINCglIRENQX1YyXzEQAxINCglIRENQX1YyXzIQ",
"BBINCglIRENQX1YyXzMQBRIbChZIRENQX05PX0RJR0lUQUxfT1VUUFVUEP8B",
"IkMKBENHTVMSDQoJQ0dNU19OT05FECoSDQoJQ09QWV9GUkVFEAASDQoJQ09Q",
"WV9PTkNFEAISDgoKQ09QWV9ORVZFUhADIjYKC0hkY3BTcm1SdWxlEhYKEkhE",
"Q1BfU1JNX1JVTEVfTk9ORRAAEg8KC0NVUlJFTlRfU1JNEAEasAEKGVZpZGVv",
"UmVzb2x1dGlvbkNvbnN0cmFpbnQSHQoVbWluX3Jlc29sdXRpb25fcGl4ZWxz",
"GAEgASgNEh0KFW1heF9yZXNvbHV0aW9uX3BpeGVscxgCIAEoDRJVChNyZXF1",
"aXJlZF9wcm90ZWN0aW9uGAMgASgLMjguQUFYQ2xlYW4uV2lkZXZpbmUuTGlj",
"ZW5zZS5LZXlDb250YWluZXIuT3V0cHV0UHJvdGVjdGlvbhqdAQodT3BlcmF0",
"b3JTZXNzaW9uS2V5UGVybWlzc2lvbnMSHAoNYWxsb3dfZW5jcnlwdBgBIAEo",
"CDoFZmFsc2USHAoNYWxsb3dfZGVjcnlwdBgCIAEoCDoFZmFsc2USGQoKYWxs",
"b3dfc2lnbhgDIAEoCDoFZmFsc2USJQoWYWxsb3dfc2lnbmF0dXJlX3Zlcmlm",
"eRgEIAEoCDoFZmFsc2UibAoHS2V5VHlwZRILCgdTSUdOSU5HEAESCwoHQ09O",
"VEVOVBACEg8KC0tFWV9DT05UUk9MEAMSFAoQT1BFUkFUT1JfU0VTU0lPThAE",
"Eg8KC0VOVElUTEVNRU5UEAUSDwoLT0VNX0NPTlRFTlQQBiJ6Cg1TZWN1cml0",
"eUxldmVsEhQKEFNXX1NFQ1VSRV9DUllQVE8QARIUChBTV19TRUNVUkVfREVD",
"T0RFEAISFAoQSFdfU0VDVVJFX0NSWVBUTxADEhQKEEhXX1NFQ1VSRV9ERUNP",
"REUQBBIRCg1IV19TRUNVUkVfQUxMEAUisQwKDkxpY2Vuc2VSZXF1ZXN0EjoK",
"CWNsaWVudF9pZBgBIAEoCzInLkFBWENsZWFuLldpZGV2aW5lLkNsaWVudElk",
"ZW50aWZpY2F0aW9uEksKCmNvbnRlbnRfaWQYAiABKAsyNy5BQVhDbGVhbi5X",
"aWRldmluZS5MaWNlbnNlUmVxdWVzdC5Db250ZW50SWRlbnRpZmljYXRpb24S",
"OwoEdHlwZRgDIAEoDjItLkFBWENsZWFuLldpZGV2aW5lLkxpY2Vuc2VSZXF1",
"ZXN0LlJlcXVlc3RUeXBlEhQKDHJlcXVlc3RfdGltZRgEIAEoAxIkChxrZXlf",
"Y29udHJvbF9ub25jZV9kZXByZWNhdGVkGAUgASgMEkkKEHByb3RvY29sX3Zl",
"cnNpb24YBiABKA4yIi5BQVhDbGVhbi5XaWRldmluZS5Qcm90b2NvbFZlcnNp",
"b246C1ZFUlNJT05fMl8wEhkKEWtleV9jb250cm9sX25vbmNlGAcgASgNEk0K",
"E2VuY3J5cHRlZF9jbGllbnRfaWQYCCABKAsyMC5BQVhDbGVhbi5XaWRldmlu",
"ZS5FbmNyeXB0ZWRDbGllbnRJZGVudGlmaWNhdGlvbhq1CAoVQ29udGVudElk",
"ZW50aWZpY2F0aW9uEmYKEndpZGV2aW5lX3Bzc2hfZGF0YRgBIAEoCzJILkFB",
"WENsZWFuLldpZGV2aW5lLkxpY2Vuc2VSZXF1ZXN0LkNvbnRlbnRJZGVudGlm",
"aWNhdGlvbi5XaWRldmluZVBzc2hEYXRhSAASWAoLd2VibV9rZXlfaWQYAiAB",
"KAsyQS5BQVhDbGVhbi5XaWRldmluZS5MaWNlbnNlUmVxdWVzdC5Db250ZW50",
"SWRlbnRpZmljYXRpb24uV2VibUtleUlkSAASYwoQZXhpc3RpbmdfbGljZW5z",
"ZRgDIAEoCzJHLkFBWENsZWFuLldpZGV2aW5lLkxpY2Vuc2VSZXF1ZXN0LkNv",
"bnRlbnRJZGVudGlmaWNhdGlvbi5FeGlzdGluZ0xpY2Vuc2VIABJVCglpbml0",
"X2RhdGEYBCABKAsyQC5BQVhDbGVhbi5XaWRldmluZS5MaWNlbnNlUmVxdWVz",
"dC5Db250ZW50SWRlbnRpZmljYXRpb24uSW5pdERhdGFIABpvChBXaWRldmlu",
"ZVBzc2hEYXRhEhEKCXBzc2hfZGF0YRgBIAMoDBI0CgxsaWNlbnNlX3R5cGUY",
"AiABKA4yHi5BQVhDbGVhbi5XaWRldmluZS5MaWNlbnNlVHlwZRISCgpyZXF1",
"ZXN0X2lkGAMgASgMGmUKCVdlYm1LZXlJZBIOCgZoZWFkZXIYASABKAwSNAoM",
"bGljZW5zZV90eXBlGAIgASgOMh4uQUFYQ2xlYW4uV2lkZXZpbmUuTGljZW5z",
"ZVR5cGUSEgoKcmVxdWVzdF9pZBgDIAEoDBq0AQoPRXhpc3RpbmdMaWNlbnNl",
"EjwKCmxpY2Vuc2VfaWQYASABKAsyKC5BQVhDbGVhbi5XaWRldmluZS5MaWNl",
"bnNlSWRlbnRpZmljYXRpb24SHQoVc2Vjb25kc19zaW5jZV9zdGFydGVkGAIg",
"ASgDEiEKGXNlY29uZHNfc2luY2VfbGFzdF9wbGF5ZWQYAyABKAMSIQoZc2Vz",
"c2lvbl91c2FnZV90YWJsZV9lbnRyeRgEIAEoDBr4AQoISW5pdERhdGESawoO",
"aW5pdF9kYXRhX3R5cGUYASABKA4yTS5BQVhDbGVhbi5XaWRldmluZS5MaWNl",
"bnNlUmVxdWVzdC5Db250ZW50SWRlbnRpZmljYXRpb24uSW5pdERhdGEuSW5p",
"dERhdGFUeXBlOgRDRU5DEhEKCWluaXRfZGF0YRgCIAEoDBI0CgxsaWNlbnNl",
"X3R5cGUYAyABKA4yHi5BQVhDbGVhbi5XaWRldmluZS5MaWNlbnNlVHlwZRIS",
"CgpyZXF1ZXN0X2lkGAQgASgMIiIKDEluaXREYXRhVHlwZRIICgRDRU5DEAES",
"CAoEV0VCTRACQhQKEmNvbnRlbnRfaWRfdmFyaWFudCIwCgtSZXF1ZXN0VHlw",
"ZRIHCgNORVcQARILCgdSRU5FV0FMEAISCwoHUkVMRUFTRRADIt8BCgpNZXRy",
"aWNEYXRhEhIKCnN0YWdlX25hbWUYASABKAkSPAoLbWV0cmljX2RhdGEYAiAD",
"KAsyJy5BQVhDbGVhbi5XaWRldmluZS5NZXRyaWNEYXRhLlR5cGVWYWx1ZRpV",
"CglUeXBlVmFsdWUSNgoEdHlwZRgBIAEoDjIoLkFBWENsZWFuLldpZGV2aW5l",
"Lk1ldHJpY0RhdGEuTWV0cmljVHlwZRIQCgV2YWx1ZRgCIAEoAzoBMCIoCgpN",
"ZXRyaWNUeXBlEgsKB0xBVEVOQ1kQARINCglUSU1FU1RBTVAQAiJLCgtWZXJz",
"aW9uSW5mbxIbChNsaWNlbnNlX3Nka192ZXJzaW9uGAEgASgJEh8KF2xpY2Vu",
"c2Vfc2VydmljZV92ZXJzaW9uGAIgASgJIs4FCg1TaWduZWRNZXNzYWdlEjoK",
"BHR5cGUYASABKA4yLC5BQVhDbGVhbi5XaWRldmluZS5TaWduZWRNZXNzYWdl",
"Lk1lc3NhZ2VUeXBlEgsKA21zZxgCIAEoDBIRCglzaWduYXR1cmUYAyABKAwS",
"EwoLc2Vzc2lvbl9rZXkYBCABKAwSGgoScmVtb3RlX2F0dGVzdGF0aW9uGAUg",
"ASgMEjIKC21ldHJpY19kYXRhGAYgAygLMh0uQUFYQ2xlYW4uV2lkZXZpbmUu",
"TWV0cmljRGF0YRI8ChRzZXJ2aWNlX3ZlcnNpb25faW5mbxgHIAEoCzIeLkFB",
"WENsZWFuLldpZGV2aW5lLlZlcnNpb25JbmZvEloKEHNlc3Npb25fa2V5X3R5",
"cGUYCCABKA4yLy5BQVhDbGVhbi5XaWRldmluZS5TaWduZWRNZXNzYWdlLlNl",
"c3Npb25LZXlUeXBlOg9XUkFQUEVEX0FFU19LRVkSHgoWb2VtY3J5cHRvX2Nv",
"cmVfbWVzc2FnZRgJIAEoDCLsAQoLTWVzc2FnZVR5cGUSEwoPTElDRU5TRV9S",
"RVFVRVNUEAESCwoHTElDRU5TRRACEhIKDkVSUk9SX1JFU1BPTlNFEAMSHwob",
"U0VSVklDRV9DRVJUSUZJQ0FURV9SRVFVRVNUEAQSFwoTU0VSVklDRV9DRVJU",
"SUZJQ0FURRAFEg8KC1NVQl9MSUNFTlNFEAYSFwoTQ0FTX0xJQ0VOU0VfUkVR",
"VUVTVBAHEg8KC0NBU19MSUNFTlNFEAgSHAoYRVhURVJOQUxfTElDRU5TRV9S",
"RVFVRVNUEAkSFAoQRVhURVJOQUxfTElDRU5TRRAKIlMKDlNlc3Npb25LZXlU",
"eXBlEg0KCVVOREVGSU5FRBAAEhMKD1dSQVBQRURfQUVTX0tFWRABEh0KGUVQ",
"SEVSTUVSQUxfRUNDX1BVQkxJQ19LRVkQAiL3DQoUQ2xpZW50SWRlbnRpZmlj",
"YXRpb24SRwoEdHlwZRgBIAEoDjIxLkFBWENsZWFuLldpZGV2aW5lLkNsaWVu",
"dElkZW50aWZpY2F0aW9uLlRva2VuVHlwZToGS0VZQk9YEg0KBXRva2VuGAIg",
"ASgMEkYKC2NsaWVudF9pbmZvGAMgAygLMjEuQUFYQ2xlYW4uV2lkZXZpbmUu",
"Q2xpZW50SWRlbnRpZmljYXRpb24uTmFtZVZhbHVlEh0KFXByb3ZpZGVyX2Ns",
"aWVudF90b2tlbhgEIAEoDBIXCg9saWNlbnNlX2NvdW50ZXIYBSABKA0SVwoT",
"Y2xpZW50X2NhcGFiaWxpdGllcxgGIAEoCzI6LkFBWENsZWFuLldpZGV2aW5l",
"LkNsaWVudElkZW50aWZpY2F0aW9uLkNsaWVudENhcGFiaWxpdGllcxIQCgh2",
"bXBfZGF0YRgHIAEoDBJVChJkZXZpY2VfY3JlZGVudGlhbHMYCCADKAsyOS5B",
"QVhDbGVhbi5XaWRldmluZS5DbGllbnRJZGVudGlmaWNhdGlvbi5DbGllbnRD",
"cmVkZW50aWFscxooCglOYW1lVmFsdWUSDAoEbmFtZRgBIAEoCRINCgV2YWx1",
"ZRgCIAEoCRq4CAoSQ2xpZW50Q2FwYWJpbGl0aWVzEhsKDGNsaWVudF90b2tl",
"bhgBIAEoCDoFZmFsc2USHAoNc2Vzc2lvbl90b2tlbhgCIAEoCDoFZmFsc2US",
"KwocdmlkZW9fcmVzb2x1dGlvbl9jb25zdHJhaW50cxgDIAEoCDoFZmFsc2US",
"awoQbWF4X2hkY3BfdmVyc2lvbhgEIAEoDjJGLkFBWENsZWFuLldpZGV2aW5l",
"LkNsaWVudElkZW50aWZpY2F0aW9uLkNsaWVudENhcGFiaWxpdGllcy5IZGNw",
"VmVyc2lvbjoJSERDUF9OT05FEh4KFm9lbV9jcnlwdG9fYXBpX3ZlcnNpb24Y",
"BSABKA0SKAoZYW50aV9yb2xsYmFja191c2FnZV90YWJsZRgGIAEoCDoFZmFs",
"c2USEwoLc3JtX3ZlcnNpb24YByABKA0SHQoOY2FuX3VwZGF0ZV9zcm0YCCAB",
"KAg6BWZhbHNlEnUKHnN1cHBvcnRlZF9jZXJ0aWZpY2F0ZV9rZXlfdHlwZRgJ",
"IAMoDjJNLkFBWENsZWFuLldpZGV2aW5lLkNsaWVudElkZW50aWZpY2F0aW9u",
"LkNsaWVudENhcGFiaWxpdGllcy5DZXJ0aWZpY2F0ZUtleVR5cGUSjgEKGmFu",
"YWxvZ19vdXRwdXRfY2FwYWJpbGl0aWVzGAogASgOMlMuQUFYQ2xlYW4uV2lk",
"ZXZpbmUuQ2xpZW50SWRlbnRpZmljYXRpb24uQ2xpZW50Q2FwYWJpbGl0aWVz",
"LkFuYWxvZ091dHB1dENhcGFiaWxpdGllczoVQU5BTE9HX09VVFBVVF9VTktO",
"T1dOEigKGWNhbl9kaXNhYmxlX2FuYWxvZ19vdXRwdXQYCyABKAg6BWZhbHNl",
"Eh8KFHJlc291cmNlX3JhdGluZ190aWVyGAwgASgNOgEwIoABCgtIZGNwVmVy",
"c2lvbhINCglIRENQX05PTkUQABILCgdIRENQX1YxEAESCwoHSERDUF9WMhAC",
"Eg0KCUhEQ1BfVjJfMRADEg0KCUhEQ1BfVjJfMhAEEg0KCUhEQ1BfVjJfMxAF",
"EhsKFkhEQ1BfTk9fRElHSVRBTF9PVVRQVVQQ/wEiaQoSQ2VydGlmaWNhdGVL",
"ZXlUeXBlEgwKCFJTQV8yMDQ4EAASDAoIUlNBXzMwNzIQARIRCg1FQ0NfU0VD",
"UDI1NlIxEAISEQoNRUNDX1NFQ1AzODRSMRADEhEKDUVDQ19TRUNQNTIxUjEQ",
"BCKNAQoYQW5hbG9nT3V0cHV0Q2FwYWJpbGl0aWVzEhkKFUFOQUxPR19PVVRQ",
"VVRfVU5LTk9XThAAEhYKEkFOQUxPR19PVVRQVVRfTk9ORRABEhsKF0FOQUxP",
"R19PVVRQVVRfU1VQUE9SVEVEEAISIQodQU5BTE9HX09VVFBVVF9TVVBQT1JU",
"U19DR01TX0EQAxprChFDbGllbnRDcmVkZW50aWFscxJHCgR0eXBlGAEgASgO",
"MjEuQUFYQ2xlYW4uV2lkZXZpbmUuQ2xpZW50SWRlbnRpZmljYXRpb24uVG9r",
"ZW5UeXBlOgZLRVlCT1gSDQoFdG9rZW4YAiABKAwicwoJVG9rZW5UeXBlEgoK",
"BktFWUJPWBAAEhoKFkRSTV9ERVZJQ0VfQ0VSVElGSUNBVEUQARIiCh5SRU1P",
"VEVfQVRURVNUQVRJT05fQ0VSVElGSUNBVEUQAhIaChZPRU1fREVWSUNFX0NF",
"UlRJRklDQVRFEAMiuwEKHUVuY3J5cHRlZENsaWVudElkZW50aWZpY2F0aW9u",
"EhMKC3Byb3ZpZGVyX2lkGAEgASgJEikKIXNlcnZpY2VfY2VydGlmaWNhdGVf",
"c2VyaWFsX251bWJlchgCIAEoDBIbChNlbmNyeXB0ZWRfY2xpZW50X2lkGAMg",
"ASgMEh4KFmVuY3J5cHRlZF9jbGllbnRfaWRfaXYYBCABKAwSHQoVZW5jcnlw",
"dGVkX3ByaXZhY3lfa2V5GAUgASgMIogHCg5Ecm1DZXJ0aWZpY2F0ZRI0CgR0",
"eXBlGAEgASgOMiYuQUFYQ2xlYW4uV2lkZXZpbmUuRHJtQ2VydGlmaWNhdGUu",
"VHlwZRIVCg1zZXJpYWxfbnVtYmVyGAIgASgMEh0KFWNyZWF0aW9uX3RpbWVf",
"c2Vjb25kcxgDIAEoDRIfChdleHBpcmF0aW9uX3RpbWVfc2Vjb25kcxgMIAEo",
"DRISCgpwdWJsaWNfa2V5GAQgASgMEhEKCXN5c3RlbV9pZBgFIAEoDRIiChZ0",
"ZXN0X2RldmljZV9kZXByZWNhdGVkGAYgASgIQgIYARITCgtwcm92aWRlcl9p",
"ZBgHIAEoCRJECg1zZXJ2aWNlX3R5cGVzGAggAygOMi0uQUFYQ2xlYW4uV2lk",
"ZXZpbmUuRHJtQ2VydGlmaWNhdGUuU2VydmljZVR5cGUSQwoJYWxnb3JpdGht",
"GAkgASgOMisuQUFYQ2xlYW4uV2lkZXZpbmUuRHJtQ2VydGlmaWNhdGUuQWxn",
"b3JpdGhtOgNSU0ESDgoGcm90X2lkGAogASgMEkcKDmVuY3J5cHRpb25fa2V5",
"GAsgASgLMi8uQUFYQ2xlYW4uV2lkZXZpbmUuRHJtQ2VydGlmaWNhdGUuRW5j",
"cnlwdGlvbktleRpoCg1FbmNyeXB0aW9uS2V5EhIKCnB1YmxpY19rZXkYASAB",
"KAwSQwoJYWxnb3JpdGhtGAIgASgOMisuQUFYQ2xlYW4uV2lkZXZpbmUuRHJt",
"Q2VydGlmaWNhdGUuQWxnb3JpdGhtOgNSU0EiTAoEVHlwZRIICgRST09UEAAS",
"EAoMREVWSUNFX01PREVMEAESCgoGREVWSUNFEAISCwoHU0VSVklDRRADEg8K",
"C1BST1ZJU0lPTkVSEAQihgEKC1NlcnZpY2VUeXBlEhgKFFVOS05PV05fU0VS",
"VklDRV9UWVBFEAASFgoSTElDRU5TRV9TRVJWRVJfU0RLEAESHAoYTElDRU5T",
"RV9TRVJWRVJfUFJPWFlfU0RLEAISFAoQUFJPVklTSU9OSU5HX1NESxADEhEK",
"DUNBU19QUk9YWV9TREsQBCJkCglBbGdvcml0aG0SFQoRVU5LTk9XTl9BTEdP",
"UklUSE0QABIHCgNSU0EQARIRCg1FQ0NfU0VDUDI1NlIxEAISEQoNRUNDX1NF",
"Q1AzODRSMRADEhEKDUVDQ19TRUNQNTIxUjEQBCK6AQoUU2lnbmVkRHJtQ2Vy",
"dGlmaWNhdGUSFwoPZHJtX2NlcnRpZmljYXRlGAEgASgMEhEKCXNpZ25hdHVy",
"ZRgCIAEoDBI3CgZzaWduZXIYAyABKAsyJy5BQVhDbGVhbi5XaWRldmluZS5T",
"aWduZWREcm1DZXJ0aWZpY2F0ZRI9Cg5oYXNoX2FsZ29yaXRobRgEIAEoDjIl",
"LkFBWENsZWFuLldpZGV2aW5lLkhhc2hBbGdvcml0aG1Qcm90byLYBQoQV2lk",
"ZXZpbmVQc3NoRGF0YRIPCgdrZXlfaWRzGAIgAygMEhIKCmNvbnRlbnRfaWQY",
"BCABKAwSGwoTY3J5cHRvX3BlcmlvZF9pbmRleBgHIAEoDRIZChFwcm90ZWN0",
"aW9uX3NjaGVtZRgJIAEoDRIdChVjcnlwdG9fcGVyaW9kX3NlY29uZHMYCiAB",
"KA0SPgoEdHlwZRgLIAEoDjIoLkFBWENsZWFuLldpZGV2aW5lLldpZGV2aW5l",
"UHNzaERhdGEuVHlwZToGU0lOR0xFEhQKDGtleV9zZXF1ZW5jZRgMIAEoDRIR",
"Cglncm91cF9pZHMYDSADKAwSRgoNZW50aXRsZWRfa2V5cxgOIAMoCzIvLkFB",
"WENsZWFuLldpZGV2aW5lLldpZGV2aW5lUHNzaERhdGEuRW50aXRsZWRLZXkS",
"FQoNdmlkZW9fZmVhdHVyZRgPIAEoCRJECglhbGdvcml0aG0YASABKA4yLS5B",
"QVhDbGVhbi5XaWRldmluZS5XaWRldmluZVBzc2hEYXRhLkFsZ29yaXRobUIC",
"GAESFAoIcHJvdmlkZXIYAyABKAlCAhgBEhYKCnRyYWNrX3R5cGUYBSABKAlC",
"AhgBEhIKBnBvbGljeRgGIAEoCUICGAESGwoPZ3JvdXBlZF9saWNlbnNlGAgg",
"ASgMQgIYARp6CgtFbnRpdGxlZEtleRIaChJlbnRpdGxlbWVudF9rZXlfaWQY",
"ASABKAwSDgoGa2V5X2lkGAIgASgMEgsKA2tleRgDIAEoDBIKCgJpdhgEIAEo",
"DBImChplbnRpdGxlbWVudF9rZXlfc2l6ZV9ieXRlcxgFIAEoDToCMzIiNQoE",
"VHlwZRIKCgZTSU5HTEUQABIPCgtFTlRJVExFTUVOVBABEhAKDEVOVElUTEVE",
"X0tFWRACIigKCUFsZ29yaXRobRIPCgtVTkVOQ1JZUFRFRBAAEgoKBkFFU0NU",
"UhABIscBCgpGaWxlSGFzaGVzEg4KBnNpZ25lchgBIAEoDBI7CgpzaWduYXR1",
"cmVzGAIgAygLMicuQUFYQ2xlYW4uV2lkZXZpbmUuRmlsZUhhc2hlcy5TaWdu",
"YXR1cmUabAoJU2lnbmF0dXJlEhAKCGZpbGVuYW1lGAEgASgJEhQKDHRlc3Rf",
"c2lnbmluZxgCIAEoCBISCgpTSEE1MTJIYXNoGAMgASgMEhAKCG1haW5fZXhl",
"GAQgASgIEhEKCXNpZ25hdHVyZRgFIAEoDCo4CgtMaWNlbnNlVHlwZRINCglT",
"VFJFQU1JTkcQARILCgdPRkZMSU5FEAISDQoJQVVUT01BVElDEAMq2QEKGlBs",
"YXRmb3JtVmVyaWZpY2F0aW9uU3RhdHVzEhcKE1BMQVRGT1JNX1VOVkVSSUZJ",
"RUQQABIVChFQTEFURk9STV9UQU1QRVJFRBABEh4KGlBMQVRGT1JNX1NPRlRX",
"QVJFX1ZFUklGSUVEEAISHgoaUExBVEZPUk1fSEFSRFdBUkVfVkVSSUZJRUQQ",
"AxIcChhQTEFURk9STV9OT19WRVJJRklDQVRJT04QBBItCilQTEFURk9STV9T",
"RUNVUkVfU1RPUkFHRV9TT0ZUV0FSRV9WRVJJRklFRBAFKkQKD1Byb3RvY29s",
"VmVyc2lvbhIPCgtWRVJTSU9OXzJfMBAUEg8KC1ZFUlNJT05fMl8xEBUSDwoL",
"VkVSU0lPTl8yXzIQFiqGAQoSSGFzaEFsZ29yaXRobVByb3RvEh4KGkhBU0hf",
"QUxHT1JJVEhNX1VOU1BFQ0lGSUVEEAASGAoUSEFTSF9BTEdPUklUSE1fU0hB",
"XzEQARIaChZIQVNIX0FMR09SSVRITV9TSEFfMjU2EAISGgoWSEFTSF9BTEdP",
"UklUSE1fU0hBXzM4NBAD"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::AudibleUtilities.Widevine.LicenseType), typeof(global::AudibleUtilities.Widevine.PlatformVerificationStatus), typeof(global::AudibleUtilities.Widevine.ProtocolVersion), typeof(global::AudibleUtilities.Widevine.HashAlgorithmProto), }, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.LicenseIdentification), global::AudibleUtilities.Widevine.LicenseIdentification.Parser, new[]{ "RequestId", "SessionId", "PurchaseId", "Type", "Version", "ProviderSessionToken" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.License), global::AudibleUtilities.Widevine.License.Parser, new[]{ "Id", "Policy", "Key", "LicenseStartTime", "RemoteAttestationVerified", "ProviderClientToken", "ProtectionScheme", "SrmRequirement", "SrmUpdate", "PlatformVerificationStatus", "GroupIds" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.License.Types.Policy), global::AudibleUtilities.Widevine.License.Types.Policy.Parser, new[]{ "CanPlay", "CanPersist", "CanRenew", "RentalDurationSeconds", "PlaybackDurationSeconds", "LicenseDurationSeconds", "RenewalRecoveryDurationSeconds", "RenewalServerUrl", "RenewalDelaySeconds", "RenewalRetryIntervalSeconds", "RenewWithUsage", "AlwaysIncludeClientId", "PlayStartGracePeriodSeconds", "SoftEnforcePlaybackDuration", "SoftEnforceRentalDuration" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.License.Types.KeyContainer), global::AudibleUtilities.Widevine.License.Types.KeyContainer.Parser, new[]{ "Id", "Iv", "Key", "Type", "Level", "RequiredProtection", "RequestedProtection", "KeyControl", "OperatorSessionKeyPermissions", "VideoResolutionConstraints", "AntiRollbackUsageTable", "TrackLabel" }, null, new[]{ typeof(global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.KeyType), typeof(global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.SecurityLevel) }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.KeyControl), global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.KeyControl.Parser, new[]{ "KeyControlBlock", "Iv" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection), global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection.Parser, new[]{ "Hdcp", "CgmsFlags", "HdcpSrmRule", "DisableAnalogOutput", "DisableDigitalOutput" }, null, new[]{ typeof(global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection.Types.HDCP), typeof(global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection.Types.CGMS), typeof(global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection.Types.HdcpSrmRule) }, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.VideoResolutionConstraint), global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.VideoResolutionConstraint.Parser, new[]{ "MinResolutionPixels", "MaxResolutionPixels", "RequiredProtection" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OperatorSessionKeyPermissions), global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OperatorSessionKeyPermissions.Parser, new[]{ "AllowEncrypt", "AllowDecrypt", "AllowSign", "AllowSignatureVerify" }, null, null, null, null)})}),
new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.LicenseRequest), global::AudibleUtilities.Widevine.LicenseRequest.Parser, new[]{ "ClientId", "ContentId", "Type", "RequestTime", "KeyControlNonceDeprecated", "ProtocolVersion", "KeyControlNonce", "EncryptedClientId" }, null, new[]{ typeof(global::AudibleUtilities.Widevine.LicenseRequest.Types.RequestType) }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification), global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Parser, new[]{ "WidevinePsshData", "WebmKeyId", "ExistingLicense", "InitData" }, new[]{ "ContentIdVariant" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.WidevinePsshData), global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.WidevinePsshData.Parser, new[]{ "PsshData", "LicenseType", "RequestId" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.WebmKeyId), global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.WebmKeyId.Parser, new[]{ "Header", "LicenseType", "RequestId" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.ExistingLicense), global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.ExistingLicense.Parser, new[]{ "LicenseId", "SecondsSinceStarted", "SecondsSinceLastPlayed", "SessionUsageTableEntry" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.InitData), global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.InitData.Parser, new[]{ "InitDataType", "InitData_", "LicenseType", "RequestId" }, null, new[]{ typeof(global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.InitData.Types.InitDataType) }, null, null)})}),
new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.MetricData), global::AudibleUtilities.Widevine.MetricData.Parser, new[]{ "StageName", "MetricData_" }, null, new[]{ typeof(global::AudibleUtilities.Widevine.MetricData.Types.MetricType) }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.MetricData.Types.TypeValue), global::AudibleUtilities.Widevine.MetricData.Types.TypeValue.Parser, new[]{ "Type", "Value" }, null, null, null, null)}),
new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.VersionInfo), global::AudibleUtilities.Widevine.VersionInfo.Parser, new[]{ "LicenseSdkVersion", "LicenseServiceVersion" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.SignedMessage), global::AudibleUtilities.Widevine.SignedMessage.Parser, new[]{ "Type", "Msg", "Signature", "SessionKey", "RemoteAttestation", "MetricData", "ServiceVersionInfo", "SessionKeyType", "OemcryptoCoreMessage" }, null, new[]{ typeof(global::AudibleUtilities.Widevine.SignedMessage.Types.MessageType), typeof(global::AudibleUtilities.Widevine.SignedMessage.Types.SessionKeyType) }, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.ClientIdentification), global::AudibleUtilities.Widevine.ClientIdentification.Parser, new[]{ "Type", "Token", "ClientInfo", "ProviderClientToken", "LicenseCounter", "ClientCapabilities", "VmpData", "DeviceCredentials" }, null, new[]{ typeof(global::AudibleUtilities.Widevine.ClientIdentification.Types.TokenType) }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.ClientIdentification.Types.NameValue), global::AudibleUtilities.Widevine.ClientIdentification.Types.NameValue.Parser, new[]{ "Name", "Value" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.ClientIdentification.Types.ClientCapabilities), global::AudibleUtilities.Widevine.ClientIdentification.Types.ClientCapabilities.Parser, new[]{ "ClientToken", "SessionToken", "VideoResolutionConstraints", "MaxHdcpVersion", "OemCryptoApiVersion", "AntiRollbackUsageTable", "SrmVersion", "CanUpdateSrm", "SupportedCertificateKeyType", "AnalogOutputCapabilities", "CanDisableAnalogOutput", "ResourceRatingTier" }, null, new[]{ typeof(global::AudibleUtilities.Widevine.ClientIdentification.Types.ClientCapabilities.Types.HdcpVersion), typeof(global::AudibleUtilities.Widevine.ClientIdentification.Types.ClientCapabilities.Types.CertificateKeyType), typeof(global::AudibleUtilities.Widevine.ClientIdentification.Types.ClientCapabilities.Types.AnalogOutputCapabilities) }, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.ClientIdentification.Types.ClientCredentials), global::AudibleUtilities.Widevine.ClientIdentification.Types.ClientCredentials.Parser, new[]{ "Type", "Token" }, null, null, null, null)}),
new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.EncryptedClientIdentification), global::AudibleUtilities.Widevine.EncryptedClientIdentification.Parser, new[]{ "ProviderId", "ServiceCertificateSerialNumber", "EncryptedClientId", "EncryptedClientIdIv", "EncryptedPrivacyKey" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.DrmCertificate), global::AudibleUtilities.Widevine.DrmCertificate.Parser, new[]{ "Type", "SerialNumber", "CreationTimeSeconds", "ExpirationTimeSeconds", "PublicKey", "SystemId", "TestDeviceDeprecated", "ProviderId", "ServiceTypes", "Algorithm", "RotId", "EncryptionKey" }, null, new[]{ typeof(global::AudibleUtilities.Widevine.DrmCertificate.Types.Type), typeof(global::AudibleUtilities.Widevine.DrmCertificate.Types.ServiceType), typeof(global::AudibleUtilities.Widevine.DrmCertificate.Types.Algorithm) }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.DrmCertificate.Types.EncryptionKey), global::AudibleUtilities.Widevine.DrmCertificate.Types.EncryptionKey.Parser, new[]{ "PublicKey", "Algorithm" }, null, null, null, null)}),
new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.SignedDrmCertificate), global::AudibleUtilities.Widevine.SignedDrmCertificate.Parser, new[]{ "DrmCertificate", "Signature", "Signer", "HashAlgorithm" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.WidevinePsshData), global::AudibleUtilities.Widevine.WidevinePsshData.Parser, new[]{ "KeyIds", "ContentId", "CryptoPeriodIndex", "ProtectionScheme", "CryptoPeriodSeconds", "Type", "KeySequence", "GroupIds", "EntitledKeys", "VideoFeature", "Algorithm", "Provider", "TrackType", "Policy", "GroupedLicense" }, null, new[]{ typeof(global::AudibleUtilities.Widevine.WidevinePsshData.Types.Type), typeof(global::AudibleUtilities.Widevine.WidevinePsshData.Types.Algorithm) }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.WidevinePsshData.Types.EntitledKey), global::AudibleUtilities.Widevine.WidevinePsshData.Types.EntitledKey.Parser, new[]{ "EntitlementKeyId", "KeyId", "Key", "Iv", "EntitlementKeySizeBytes" }, null, null, null, null)}),
new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.FileHashes), global::AudibleUtilities.Widevine.FileHashes.Parser, new[]{ "Signer", "Signatures" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::AudibleUtilities.Widevine.FileHashes.Types.Signature), global::AudibleUtilities.Widevine.FileHashes.Types.Signature.Parser, new[]{ "Filename", "TestSigning", "SHA512Hash", "MainExe", "Signature_" }, null, null, null, null)})
}));
}
#endregion
}
#region Enums
internal enum LicenseType {
[pbr::OriginalName("STREAMING")] Streaming = 1,
[pbr::OriginalName("OFFLINE")] Offline = 2,
///
/// License type decision is left to provider.
///
[pbr::OriginalName("AUTOMATIC")] Automatic = 3,
}
internal enum PlatformVerificationStatus {
///
/// The platform is not verified.
///
[pbr::OriginalName("PLATFORM_UNVERIFIED")] PlatformUnverified = 0,
///
/// Tampering detected on the platform.
///
[pbr::OriginalName("PLATFORM_TAMPERED")] PlatformTampered = 1,
///
/// The platform has been verified by means of software.
///
[pbr::OriginalName("PLATFORM_SOFTWARE_VERIFIED")] PlatformSoftwareVerified = 2,
///
/// The platform has been verified by means of hardware (e.g. secure boot).
///
[pbr::OriginalName("PLATFORM_HARDWARE_VERIFIED")] PlatformHardwareVerified = 3,
///
/// Platform verification was not performed.
///
[pbr::OriginalName("PLATFORM_NO_VERIFICATION")] PlatformNoVerification = 4,
///
/// Platform and secure storage capability have been verified by means of
/// software.
///
[pbr::OriginalName("PLATFORM_SECURE_STORAGE_SOFTWARE_VERIFIED")] PlatformSecureStorageSoftwareVerified = 5,
}
internal enum ProtocolVersion {
[pbr::OriginalName("VERSION_2_0")] Version20 = 20,
[pbr::OriginalName("VERSION_2_1")] Version21 = 21,
[pbr::OriginalName("VERSION_2_2")] Version22 = 22,
}
internal enum HashAlgorithmProto {
///
/// Unspecified hash algorithm: SHA_256 shall be used for ECC based algorithms
/// and SHA_1 shall be used otherwise.
///
[pbr::OriginalName("HASH_ALGORITHM_UNSPECIFIED")] HashAlgorithmUnspecified = 0,
[pbr::OriginalName("HASH_ALGORITHM_SHA_1")] HashAlgorithmSha1 = 1,
[pbr::OriginalName("HASH_ALGORITHM_SHA_256")] HashAlgorithmSha256 = 2,
[pbr::OriginalName("HASH_ALGORITHM_SHA_384")] HashAlgorithmSha384 = 3,
}
#endregion
#region Messages
///
/// LicenseIdentification is propagated from LicenseRequest to License,
/// incrementing version with each iteration.
///
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class LicenseIdentification : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new LicenseIdentification());
private pb::UnknownFieldSet _unknownFields;
private int _hasBits0;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.LicenseProtocolReflection.Descriptor.MessageTypes[0]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public LicenseIdentification() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public LicenseIdentification(LicenseIdentification other) : this() {
_hasBits0 = other._hasBits0;
requestId_ = other.requestId_;
sessionId_ = other.sessionId_;
purchaseId_ = other.purchaseId_;
type_ = other.type_;
version_ = other.version_;
providerSessionToken_ = other.providerSessionToken_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public LicenseIdentification Clone() {
return new LicenseIdentification(this);
}
/// Field number for the "request_id" field.
public const int RequestIdFieldNumber = 1;
private readonly static pb::ByteString RequestIdDefaultValue = pb::ByteString.Empty;
private pb::ByteString requestId_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString RequestId {
get { return requestId_ ?? RequestIdDefaultValue; }
set {
requestId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "request_id" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasRequestId {
get { return requestId_ != null; }
}
/// Clears the value of the "request_id" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearRequestId() {
requestId_ = null;
}
/// Field number for the "session_id" field.
public const int SessionIdFieldNumber = 2;
private readonly static pb::ByteString SessionIdDefaultValue = pb::ByteString.Empty;
private pb::ByteString sessionId_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString SessionId {
get { return sessionId_ ?? SessionIdDefaultValue; }
set {
sessionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "session_id" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasSessionId {
get { return sessionId_ != null; }
}
/// Clears the value of the "session_id" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearSessionId() {
sessionId_ = null;
}
/// Field number for the "purchase_id" field.
public const int PurchaseIdFieldNumber = 3;
private readonly static pb::ByteString PurchaseIdDefaultValue = pb::ByteString.Empty;
private pb::ByteString purchaseId_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString PurchaseId {
get { return purchaseId_ ?? PurchaseIdDefaultValue; }
set {
purchaseId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "purchase_id" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasPurchaseId {
get { return purchaseId_ != null; }
}
/// Clears the value of the "purchase_id" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearPurchaseId() {
purchaseId_ = null;
}
/// Field number for the "type" field.
public const int TypeFieldNumber = 4;
private readonly static global::AudibleUtilities.Widevine.LicenseType TypeDefaultValue = global::AudibleUtilities.Widevine.LicenseType.Streaming;
private global::AudibleUtilities.Widevine.LicenseType type_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.LicenseType Type {
get { if ((_hasBits0 & 1) != 0) { return type_; } else { return TypeDefaultValue; } }
set {
_hasBits0 |= 1;
type_ = value;
}
}
/// Gets whether the "type" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasType {
get { return (_hasBits0 & 1) != 0; }
}
/// Clears the value of the "type" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearType() {
_hasBits0 &= ~1;
}
/// Field number for the "version" field.
public const int VersionFieldNumber = 5;
private readonly static int VersionDefaultValue = 0;
private int version_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int Version {
get { if ((_hasBits0 & 2) != 0) { return version_; } else { return VersionDefaultValue; } }
set {
_hasBits0 |= 2;
version_ = value;
}
}
/// Gets whether the "version" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasVersion {
get { return (_hasBits0 & 2) != 0; }
}
/// Clears the value of the "version" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearVersion() {
_hasBits0 &= ~2;
}
/// Field number for the "provider_session_token" field.
public const int ProviderSessionTokenFieldNumber = 6;
private readonly static pb::ByteString ProviderSessionTokenDefaultValue = pb::ByteString.Empty;
private pb::ByteString providerSessionToken_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString ProviderSessionToken {
get { return providerSessionToken_ ?? ProviderSessionTokenDefaultValue; }
set {
providerSessionToken_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "provider_session_token" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasProviderSessionToken {
get { return providerSessionToken_ != null; }
}
/// Clears the value of the "provider_session_token" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearProviderSessionToken() {
providerSessionToken_ = null;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as LicenseIdentification);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(LicenseIdentification other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (RequestId != other.RequestId) return false;
if (SessionId != other.SessionId) return false;
if (PurchaseId != other.PurchaseId) return false;
if (Type != other.Type) return false;
if (Version != other.Version) return false;
if (ProviderSessionToken != other.ProviderSessionToken) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (HasRequestId) hash ^= RequestId.GetHashCode();
if (HasSessionId) hash ^= SessionId.GetHashCode();
if (HasPurchaseId) hash ^= PurchaseId.GetHashCode();
if (HasType) hash ^= Type.GetHashCode();
if (HasVersion) hash ^= Version.GetHashCode();
if (HasProviderSessionToken) hash ^= ProviderSessionToken.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (HasRequestId) {
output.WriteRawTag(10);
output.WriteBytes(RequestId);
}
if (HasSessionId) {
output.WriteRawTag(18);
output.WriteBytes(SessionId);
}
if (HasPurchaseId) {
output.WriteRawTag(26);
output.WriteBytes(PurchaseId);
}
if (HasType) {
output.WriteRawTag(32);
output.WriteEnum((int) Type);
}
if (HasVersion) {
output.WriteRawTag(40);
output.WriteInt32(Version);
}
if (HasProviderSessionToken) {
output.WriteRawTag(50);
output.WriteBytes(ProviderSessionToken);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (HasRequestId) {
output.WriteRawTag(10);
output.WriteBytes(RequestId);
}
if (HasSessionId) {
output.WriteRawTag(18);
output.WriteBytes(SessionId);
}
if (HasPurchaseId) {
output.WriteRawTag(26);
output.WriteBytes(PurchaseId);
}
if (HasType) {
output.WriteRawTag(32);
output.WriteEnum((int) Type);
}
if (HasVersion) {
output.WriteRawTag(40);
output.WriteInt32(Version);
}
if (HasProviderSessionToken) {
output.WriteRawTag(50);
output.WriteBytes(ProviderSessionToken);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (HasRequestId) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(RequestId);
}
if (HasSessionId) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(SessionId);
}
if (HasPurchaseId) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(PurchaseId);
}
if (HasType) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
}
if (HasVersion) {
size += 1 + pb::CodedOutputStream.ComputeInt32Size(Version);
}
if (HasProviderSessionToken) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(ProviderSessionToken);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(LicenseIdentification other) {
if (other == null) {
return;
}
if (other.HasRequestId) {
RequestId = other.RequestId;
}
if (other.HasSessionId) {
SessionId = other.SessionId;
}
if (other.HasPurchaseId) {
PurchaseId = other.PurchaseId;
}
if (other.HasType) {
Type = other.Type;
}
if (other.HasVersion) {
Version = other.Version;
}
if (other.HasProviderSessionToken) {
ProviderSessionToken = other.ProviderSessionToken;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
RequestId = input.ReadBytes();
break;
}
case 18: {
SessionId = input.ReadBytes();
break;
}
case 26: {
PurchaseId = input.ReadBytes();
break;
}
case 32: {
Type = (global::AudibleUtilities.Widevine.LicenseType) input.ReadEnum();
break;
}
case 40: {
Version = input.ReadInt32();
break;
}
case 50: {
ProviderSessionToken = input.ReadBytes();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 10: {
RequestId = input.ReadBytes();
break;
}
case 18: {
SessionId = input.ReadBytes();
break;
}
case 26: {
PurchaseId = input.ReadBytes();
break;
}
case 32: {
Type = (global::AudibleUtilities.Widevine.LicenseType) input.ReadEnum();
break;
}
case 40: {
Version = input.ReadInt32();
break;
}
case 50: {
ProviderSessionToken = input.ReadBytes();
break;
}
}
}
}
#endif
}
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class License : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new License());
private pb::UnknownFieldSet _unknownFields;
private int _hasBits0;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.LicenseProtocolReflection.Descriptor.MessageTypes[1]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public License() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public License(License other) : this() {
_hasBits0 = other._hasBits0;
id_ = other.id_ != null ? other.id_.Clone() : null;
policy_ = other.policy_ != null ? other.policy_.Clone() : null;
key_ = other.key_.Clone();
licenseStartTime_ = other.licenseStartTime_;
remoteAttestationVerified_ = other.remoteAttestationVerified_;
providerClientToken_ = other.providerClientToken_;
protectionScheme_ = other.protectionScheme_;
srmRequirement_ = other.srmRequirement_;
srmUpdate_ = other.srmUpdate_;
platformVerificationStatus_ = other.platformVerificationStatus_;
groupIds_ = other.groupIds_.Clone();
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public License Clone() {
return new License(this);
}
/// Field number for the "id" field.
public const int IdFieldNumber = 1;
private global::AudibleUtilities.Widevine.LicenseIdentification id_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.LicenseIdentification Id {
get { return id_; }
set {
id_ = value;
}
}
/// Field number for the "policy" field.
public const int PolicyFieldNumber = 2;
private global::AudibleUtilities.Widevine.License.Types.Policy policy_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.License.Types.Policy Policy {
get { return policy_; }
set {
policy_ = value;
}
}
/// Field number for the "key" field.
public const int KeyFieldNumber = 3;
private static readonly pb::FieldCodec _repeated_key_codec
= pb::FieldCodec.ForMessage(26, global::AudibleUtilities.Widevine.License.Types.KeyContainer.Parser);
private readonly pbc::RepeatedField key_ = new pbc::RepeatedField();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pbc::RepeatedField Key {
get { return key_; }
}
/// Field number for the "license_start_time" field.
public const int LicenseStartTimeFieldNumber = 4;
private readonly static long LicenseStartTimeDefaultValue = 0L;
private long licenseStartTime_;
///
/// Time of the request in seconds (UTC) as set in
/// LicenseRequest.request_time. If this time is not set in the request,
/// the local time at the license service is used in this field.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public long LicenseStartTime {
get { if ((_hasBits0 & 1) != 0) { return licenseStartTime_; } else { return LicenseStartTimeDefaultValue; } }
set {
_hasBits0 |= 1;
licenseStartTime_ = value;
}
}
/// Gets whether the "license_start_time" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasLicenseStartTime {
get { return (_hasBits0 & 1) != 0; }
}
/// Clears the value of the "license_start_time" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearLicenseStartTime() {
_hasBits0 &= ~1;
}
/// Field number for the "remote_attestation_verified" field.
public const int RemoteAttestationVerifiedFieldNumber = 5;
private readonly static bool RemoteAttestationVerifiedDefaultValue = false;
private bool remoteAttestationVerified_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool RemoteAttestationVerified {
get { if ((_hasBits0 & 2) != 0) { return remoteAttestationVerified_; } else { return RemoteAttestationVerifiedDefaultValue; } }
set {
_hasBits0 |= 2;
remoteAttestationVerified_ = value;
}
}
/// Gets whether the "remote_attestation_verified" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasRemoteAttestationVerified {
get { return (_hasBits0 & 2) != 0; }
}
/// Clears the value of the "remote_attestation_verified" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearRemoteAttestationVerified() {
_hasBits0 &= ~2;
}
/// Field number for the "provider_client_token" field.
public const int ProviderClientTokenFieldNumber = 6;
private readonly static pb::ByteString ProviderClientTokenDefaultValue = pb::ByteString.Empty;
private pb::ByteString providerClientToken_;
///
/// Client token generated by the content provider. Optional.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString ProviderClientToken {
get { return providerClientToken_ ?? ProviderClientTokenDefaultValue; }
set {
providerClientToken_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "provider_client_token" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasProviderClientToken {
get { return providerClientToken_ != null; }
}
/// Clears the value of the "provider_client_token" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearProviderClientToken() {
providerClientToken_ = null;
}
/// Field number for the "protection_scheme" field.
public const int ProtectionSchemeFieldNumber = 7;
private readonly static uint ProtectionSchemeDefaultValue = 0;
private uint protectionScheme_;
///
/// 4cc code specifying the CENC protection scheme as defined in the CENC 3.0
/// specification. Propagated from Widevine PSSH box. Optional.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public uint ProtectionScheme {
get { if ((_hasBits0 & 4) != 0) { return protectionScheme_; } else { return ProtectionSchemeDefaultValue; } }
set {
_hasBits0 |= 4;
protectionScheme_ = value;
}
}
/// Gets whether the "protection_scheme" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasProtectionScheme {
get { return (_hasBits0 & 4) != 0; }
}
/// Clears the value of the "protection_scheme" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearProtectionScheme() {
_hasBits0 &= ~4;
}
/// Field number for the "srm_requirement" field.
public const int SrmRequirementFieldNumber = 8;
private readonly static pb::ByteString SrmRequirementDefaultValue = pb::ByteString.Empty;
private pb::ByteString srmRequirement_;
///
/// 8 byte verification field "HDCPDATA" followed by unsigned 32 bit minimum
/// HDCP SRM version (whether the version is for HDCP1 SRM or HDCP2 SRM
/// depends on client max_hdcp_version).
/// Additional details can be found in Widevine Modular DRM Security
/// Integration Guide for CENC.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString SrmRequirement {
get { return srmRequirement_ ?? SrmRequirementDefaultValue; }
set {
srmRequirement_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "srm_requirement" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasSrmRequirement {
get { return srmRequirement_ != null; }
}
/// Clears the value of the "srm_requirement" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearSrmRequirement() {
srmRequirement_ = null;
}
/// Field number for the "srm_update" field.
public const int SrmUpdateFieldNumber = 9;
private readonly static pb::ByteString SrmUpdateDefaultValue = pb::ByteString.Empty;
private pb::ByteString srmUpdate_;
///
/// If present this contains a signed SRM file (either HDCP1 SRM or HDCP2 SRM
/// depending on client max_hdcp_version) that should be installed on the
/// client device.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString SrmUpdate {
get { return srmUpdate_ ?? SrmUpdateDefaultValue; }
set {
srmUpdate_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "srm_update" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasSrmUpdate {
get { return srmUpdate_ != null; }
}
/// Clears the value of the "srm_update" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearSrmUpdate() {
srmUpdate_ = null;
}
/// Field number for the "platform_verification_status" field.
public const int PlatformVerificationStatusFieldNumber = 10;
private readonly static global::AudibleUtilities.Widevine.PlatformVerificationStatus PlatformVerificationStatusDefaultValue = global::AudibleUtilities.Widevine.PlatformVerificationStatus.PlatformNoVerification;
private global::AudibleUtilities.Widevine.PlatformVerificationStatus platformVerificationStatus_;
///
/// Indicates the status of any type of platform verification performed by the
/// server.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.PlatformVerificationStatus PlatformVerificationStatus {
get { if ((_hasBits0 & 8) != 0) { return platformVerificationStatus_; } else { return PlatformVerificationStatusDefaultValue; } }
set {
_hasBits0 |= 8;
platformVerificationStatus_ = value;
}
}
/// Gets whether the "platform_verification_status" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasPlatformVerificationStatus {
get { return (_hasBits0 & 8) != 0; }
}
/// Clears the value of the "platform_verification_status" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearPlatformVerificationStatus() {
_hasBits0 &= ~8;
}
/// Field number for the "group_ids" field.
public const int GroupIdsFieldNumber = 11;
private static readonly pb::FieldCodec _repeated_groupIds_codec
= pb::FieldCodec.ForBytes(90);
private readonly pbc::RepeatedField groupIds_ = new pbc::RepeatedField();
///
/// IDs of the groups for which keys are delivered in this license, if any.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pbc::RepeatedField GroupIds {
get { return groupIds_; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as License);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(License other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (!object.Equals(Id, other.Id)) return false;
if (!object.Equals(Policy, other.Policy)) return false;
if(!key_.Equals(other.key_)) return false;
if (LicenseStartTime != other.LicenseStartTime) return false;
if (RemoteAttestationVerified != other.RemoteAttestationVerified) return false;
if (ProviderClientToken != other.ProviderClientToken) return false;
if (ProtectionScheme != other.ProtectionScheme) return false;
if (SrmRequirement != other.SrmRequirement) return false;
if (SrmUpdate != other.SrmUpdate) return false;
if (PlatformVerificationStatus != other.PlatformVerificationStatus) return false;
if(!groupIds_.Equals(other.groupIds_)) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (id_ != null) hash ^= Id.GetHashCode();
if (policy_ != null) hash ^= Policy.GetHashCode();
hash ^= key_.GetHashCode();
if (HasLicenseStartTime) hash ^= LicenseStartTime.GetHashCode();
if (HasRemoteAttestationVerified) hash ^= RemoteAttestationVerified.GetHashCode();
if (HasProviderClientToken) hash ^= ProviderClientToken.GetHashCode();
if (HasProtectionScheme) hash ^= ProtectionScheme.GetHashCode();
if (HasSrmRequirement) hash ^= SrmRequirement.GetHashCode();
if (HasSrmUpdate) hash ^= SrmUpdate.GetHashCode();
if (HasPlatformVerificationStatus) hash ^= PlatformVerificationStatus.GetHashCode();
hash ^= groupIds_.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (id_ != null) {
output.WriteRawTag(10);
output.WriteMessage(Id);
}
if (policy_ != null) {
output.WriteRawTag(18);
output.WriteMessage(Policy);
}
key_.WriteTo(output, _repeated_key_codec);
if (HasLicenseStartTime) {
output.WriteRawTag(32);
output.WriteInt64(LicenseStartTime);
}
if (HasRemoteAttestationVerified) {
output.WriteRawTag(40);
output.WriteBool(RemoteAttestationVerified);
}
if (HasProviderClientToken) {
output.WriteRawTag(50);
output.WriteBytes(ProviderClientToken);
}
if (HasProtectionScheme) {
output.WriteRawTag(56);
output.WriteUInt32(ProtectionScheme);
}
if (HasSrmRequirement) {
output.WriteRawTag(66);
output.WriteBytes(SrmRequirement);
}
if (HasSrmUpdate) {
output.WriteRawTag(74);
output.WriteBytes(SrmUpdate);
}
if (HasPlatformVerificationStatus) {
output.WriteRawTag(80);
output.WriteEnum((int) PlatformVerificationStatus);
}
groupIds_.WriteTo(output, _repeated_groupIds_codec);
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (id_ != null) {
output.WriteRawTag(10);
output.WriteMessage(Id);
}
if (policy_ != null) {
output.WriteRawTag(18);
output.WriteMessage(Policy);
}
key_.WriteTo(ref output, _repeated_key_codec);
if (HasLicenseStartTime) {
output.WriteRawTag(32);
output.WriteInt64(LicenseStartTime);
}
if (HasRemoteAttestationVerified) {
output.WriteRawTag(40);
output.WriteBool(RemoteAttestationVerified);
}
if (HasProviderClientToken) {
output.WriteRawTag(50);
output.WriteBytes(ProviderClientToken);
}
if (HasProtectionScheme) {
output.WriteRawTag(56);
output.WriteUInt32(ProtectionScheme);
}
if (HasSrmRequirement) {
output.WriteRawTag(66);
output.WriteBytes(SrmRequirement);
}
if (HasSrmUpdate) {
output.WriteRawTag(74);
output.WriteBytes(SrmUpdate);
}
if (HasPlatformVerificationStatus) {
output.WriteRawTag(80);
output.WriteEnum((int) PlatformVerificationStatus);
}
groupIds_.WriteTo(ref output, _repeated_groupIds_codec);
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (id_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(Id);
}
if (policy_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(Policy);
}
size += key_.CalculateSize(_repeated_key_codec);
if (HasLicenseStartTime) {
size += 1 + pb::CodedOutputStream.ComputeInt64Size(LicenseStartTime);
}
if (HasRemoteAttestationVerified) {
size += 1 + 1;
}
if (HasProviderClientToken) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(ProviderClientToken);
}
if (HasProtectionScheme) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ProtectionScheme);
}
if (HasSrmRequirement) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(SrmRequirement);
}
if (HasSrmUpdate) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(SrmUpdate);
}
if (HasPlatformVerificationStatus) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PlatformVerificationStatus);
}
size += groupIds_.CalculateSize(_repeated_groupIds_codec);
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(License other) {
if (other == null) {
return;
}
if (other.id_ != null) {
if (id_ == null) {
Id = new global::AudibleUtilities.Widevine.LicenseIdentification();
}
Id.MergeFrom(other.Id);
}
if (other.policy_ != null) {
if (policy_ == null) {
Policy = new global::AudibleUtilities.Widevine.License.Types.Policy();
}
Policy.MergeFrom(other.Policy);
}
key_.Add(other.key_);
if (other.HasLicenseStartTime) {
LicenseStartTime = other.LicenseStartTime;
}
if (other.HasRemoteAttestationVerified) {
RemoteAttestationVerified = other.RemoteAttestationVerified;
}
if (other.HasProviderClientToken) {
ProviderClientToken = other.ProviderClientToken;
}
if (other.HasProtectionScheme) {
ProtectionScheme = other.ProtectionScheme;
}
if (other.HasSrmRequirement) {
SrmRequirement = other.SrmRequirement;
}
if (other.HasSrmUpdate) {
SrmUpdate = other.SrmUpdate;
}
if (other.HasPlatformVerificationStatus) {
PlatformVerificationStatus = other.PlatformVerificationStatus;
}
groupIds_.Add(other.groupIds_);
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
if (id_ == null) {
Id = new global::AudibleUtilities.Widevine.LicenseIdentification();
}
input.ReadMessage(Id);
break;
}
case 18: {
if (policy_ == null) {
Policy = new global::AudibleUtilities.Widevine.License.Types.Policy();
}
input.ReadMessage(Policy);
break;
}
case 26: {
key_.AddEntriesFrom(input, _repeated_key_codec);
break;
}
case 32: {
LicenseStartTime = input.ReadInt64();
break;
}
case 40: {
RemoteAttestationVerified = input.ReadBool();
break;
}
case 50: {
ProviderClientToken = input.ReadBytes();
break;
}
case 56: {
ProtectionScheme = input.ReadUInt32();
break;
}
case 66: {
SrmRequirement = input.ReadBytes();
break;
}
case 74: {
SrmUpdate = input.ReadBytes();
break;
}
case 80: {
PlatformVerificationStatus = (global::AudibleUtilities.Widevine.PlatformVerificationStatus) input.ReadEnum();
break;
}
case 90: {
groupIds_.AddEntriesFrom(input, _repeated_groupIds_codec);
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 10: {
if (id_ == null) {
Id = new global::AudibleUtilities.Widevine.LicenseIdentification();
}
input.ReadMessage(Id);
break;
}
case 18: {
if (policy_ == null) {
Policy = new global::AudibleUtilities.Widevine.License.Types.Policy();
}
input.ReadMessage(Policy);
break;
}
case 26: {
key_.AddEntriesFrom(ref input, _repeated_key_codec);
break;
}
case 32: {
LicenseStartTime = input.ReadInt64();
break;
}
case 40: {
RemoteAttestationVerified = input.ReadBool();
break;
}
case 50: {
ProviderClientToken = input.ReadBytes();
break;
}
case 56: {
ProtectionScheme = input.ReadUInt32();
break;
}
case 66: {
SrmRequirement = input.ReadBytes();
break;
}
case 74: {
SrmUpdate = input.ReadBytes();
break;
}
case 80: {
PlatformVerificationStatus = (global::AudibleUtilities.Widevine.PlatformVerificationStatus) input.ReadEnum();
break;
}
case 90: {
groupIds_.AddEntriesFrom(ref input, _repeated_groupIds_codec);
break;
}
}
}
}
#endif
#region Nested types
/// Container for nested types declared in the License message type.
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static partial class Types {
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class Policy : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Policy());
private pb::UnknownFieldSet _unknownFields;
private int _hasBits0;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.License.Descriptor.NestedTypes[0]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public Policy() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public Policy(Policy other) : this() {
_hasBits0 = other._hasBits0;
canPlay_ = other.canPlay_;
canPersist_ = other.canPersist_;
canRenew_ = other.canRenew_;
rentalDurationSeconds_ = other.rentalDurationSeconds_;
playbackDurationSeconds_ = other.playbackDurationSeconds_;
licenseDurationSeconds_ = other.licenseDurationSeconds_;
renewalRecoveryDurationSeconds_ = other.renewalRecoveryDurationSeconds_;
renewalServerUrl_ = other.renewalServerUrl_;
renewalDelaySeconds_ = other.renewalDelaySeconds_;
renewalRetryIntervalSeconds_ = other.renewalRetryIntervalSeconds_;
renewWithUsage_ = other.renewWithUsage_;
alwaysIncludeClientId_ = other.alwaysIncludeClientId_;
playStartGracePeriodSeconds_ = other.playStartGracePeriodSeconds_;
softEnforcePlaybackDuration_ = other.softEnforcePlaybackDuration_;
softEnforceRentalDuration_ = other.softEnforceRentalDuration_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public Policy Clone() {
return new Policy(this);
}
/// Field number for the "can_play" field.
public const int CanPlayFieldNumber = 1;
private readonly static bool CanPlayDefaultValue = false;
private bool canPlay_;
///
/// Indicates that playback of the content is allowed.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool CanPlay {
get { if ((_hasBits0 & 1) != 0) { return canPlay_; } else { return CanPlayDefaultValue; } }
set {
_hasBits0 |= 1;
canPlay_ = value;
}
}
/// Gets whether the "can_play" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasCanPlay {
get { return (_hasBits0 & 1) != 0; }
}
/// Clears the value of the "can_play" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearCanPlay() {
_hasBits0 &= ~1;
}
/// Field number for the "can_persist" field.
public const int CanPersistFieldNumber = 2;
private readonly static bool CanPersistDefaultValue = false;
private bool canPersist_;
///
/// Indicates that the license may be persisted to non-volatile
/// storage for offline use.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool CanPersist {
get { if ((_hasBits0 & 2) != 0) { return canPersist_; } else { return CanPersistDefaultValue; } }
set {
_hasBits0 |= 2;
canPersist_ = value;
}
}
/// Gets whether the "can_persist" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasCanPersist {
get { return (_hasBits0 & 2) != 0; }
}
/// Clears the value of the "can_persist" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearCanPersist() {
_hasBits0 &= ~2;
}
/// Field number for the "can_renew" field.
public const int CanRenewFieldNumber = 3;
private readonly static bool CanRenewDefaultValue = false;
private bool canRenew_;
///
/// Indicates that renewal of this license is allowed.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool CanRenew {
get { if ((_hasBits0 & 4) != 0) { return canRenew_; } else { return CanRenewDefaultValue; } }
set {
_hasBits0 |= 4;
canRenew_ = value;
}
}
/// Gets whether the "can_renew" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasCanRenew {
get { return (_hasBits0 & 4) != 0; }
}
/// Clears the value of the "can_renew" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearCanRenew() {
_hasBits0 &= ~4;
}
/// Field number for the "rental_duration_seconds" field.
public const int RentalDurationSecondsFieldNumber = 4;
private readonly static long RentalDurationSecondsDefaultValue = 0L;
private long rentalDurationSeconds_;
///
/// Indicates the rental window.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public long RentalDurationSeconds {
get { if ((_hasBits0 & 8) != 0) { return rentalDurationSeconds_; } else { return RentalDurationSecondsDefaultValue; } }
set {
_hasBits0 |= 8;
rentalDurationSeconds_ = value;
}
}
/// Gets whether the "rental_duration_seconds" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasRentalDurationSeconds {
get { return (_hasBits0 & 8) != 0; }
}
/// Clears the value of the "rental_duration_seconds" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearRentalDurationSeconds() {
_hasBits0 &= ~8;
}
/// Field number for the "playback_duration_seconds" field.
public const int PlaybackDurationSecondsFieldNumber = 5;
private readonly static long PlaybackDurationSecondsDefaultValue = 0L;
private long playbackDurationSeconds_;
///
/// Indicates the viewing window, once playback has begun.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public long PlaybackDurationSeconds {
get { if ((_hasBits0 & 16) != 0) { return playbackDurationSeconds_; } else { return PlaybackDurationSecondsDefaultValue; } }
set {
_hasBits0 |= 16;
playbackDurationSeconds_ = value;
}
}
/// Gets whether the "playback_duration_seconds" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasPlaybackDurationSeconds {
get { return (_hasBits0 & 16) != 0; }
}
/// Clears the value of the "playback_duration_seconds" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearPlaybackDurationSeconds() {
_hasBits0 &= ~16;
}
/// Field number for the "license_duration_seconds" field.
public const int LicenseDurationSecondsFieldNumber = 6;
private readonly static long LicenseDurationSecondsDefaultValue = 0L;
private long licenseDurationSeconds_;
///
/// Indicates the time window for this specific license.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public long LicenseDurationSeconds {
get { if ((_hasBits0 & 32) != 0) { return licenseDurationSeconds_; } else { return LicenseDurationSecondsDefaultValue; } }
set {
_hasBits0 |= 32;
licenseDurationSeconds_ = value;
}
}
/// Gets whether the "license_duration_seconds" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasLicenseDurationSeconds {
get { return (_hasBits0 & 32) != 0; }
}
/// Clears the value of the "license_duration_seconds" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearLicenseDurationSeconds() {
_hasBits0 &= ~32;
}
/// Field number for the "renewal_recovery_duration_seconds" field.
public const int RenewalRecoveryDurationSecondsFieldNumber = 7;
private readonly static long RenewalRecoveryDurationSecondsDefaultValue = 0L;
private long renewalRecoveryDurationSeconds_;
///
/// The window of time, in which playback is allowed to continue while
/// renewal is attempted, yet unsuccessful due to backend problems with
/// the license server.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public long RenewalRecoveryDurationSeconds {
get { if ((_hasBits0 & 64) != 0) { return renewalRecoveryDurationSeconds_; } else { return RenewalRecoveryDurationSecondsDefaultValue; } }
set {
_hasBits0 |= 64;
renewalRecoveryDurationSeconds_ = value;
}
}
/// Gets whether the "renewal_recovery_duration_seconds" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasRenewalRecoveryDurationSeconds {
get { return (_hasBits0 & 64) != 0; }
}
/// Clears the value of the "renewal_recovery_duration_seconds" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearRenewalRecoveryDurationSeconds() {
_hasBits0 &= ~64;
}
/// Field number for the "renewal_server_url" field.
public const int RenewalServerUrlFieldNumber = 8;
private readonly static string RenewalServerUrlDefaultValue = "";
private string renewalServerUrl_;
///
/// All renewal requests for this license shall be directed to the
/// specified URL.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public string RenewalServerUrl {
get { return renewalServerUrl_ ?? RenewalServerUrlDefaultValue; }
set {
renewalServerUrl_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "renewal_server_url" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasRenewalServerUrl {
get { return renewalServerUrl_ != null; }
}
/// Clears the value of the "renewal_server_url" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearRenewalServerUrl() {
renewalServerUrl_ = null;
}
/// Field number for the "renewal_delay_seconds" field.
public const int RenewalDelaySecondsFieldNumber = 9;
private readonly static long RenewalDelaySecondsDefaultValue = 0L;
private long renewalDelaySeconds_;
///
/// How many seconds after license_start_time, before renewal is first
/// attempted.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public long RenewalDelaySeconds {
get { if ((_hasBits0 & 128) != 0) { return renewalDelaySeconds_; } else { return RenewalDelaySecondsDefaultValue; } }
set {
_hasBits0 |= 128;
renewalDelaySeconds_ = value;
}
}
/// Gets whether the "renewal_delay_seconds" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasRenewalDelaySeconds {
get { return (_hasBits0 & 128) != 0; }
}
/// Clears the value of the "renewal_delay_seconds" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearRenewalDelaySeconds() {
_hasBits0 &= ~128;
}
/// Field number for the "renewal_retry_interval_seconds" field.
public const int RenewalRetryIntervalSecondsFieldNumber = 10;
private readonly static long RenewalRetryIntervalSecondsDefaultValue = 0L;
private long renewalRetryIntervalSeconds_;
///
/// Specifies the delay in seconds between subsequent license
/// renewal requests, in case of failure.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public long RenewalRetryIntervalSeconds {
get { if ((_hasBits0 & 256) != 0) { return renewalRetryIntervalSeconds_; } else { return RenewalRetryIntervalSecondsDefaultValue; } }
set {
_hasBits0 |= 256;
renewalRetryIntervalSeconds_ = value;
}
}
/// Gets whether the "renewal_retry_interval_seconds" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasRenewalRetryIntervalSeconds {
get { return (_hasBits0 & 256) != 0; }
}
/// Clears the value of the "renewal_retry_interval_seconds" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearRenewalRetryIntervalSeconds() {
_hasBits0 &= ~256;
}
/// Field number for the "renew_with_usage" field.
public const int RenewWithUsageFieldNumber = 11;
private readonly static bool RenewWithUsageDefaultValue = false;
private bool renewWithUsage_;
///
/// Indicates that the license shall be sent for renewal when usage is
/// started.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool RenewWithUsage {
get { if ((_hasBits0 & 512) != 0) { return renewWithUsage_; } else { return RenewWithUsageDefaultValue; } }
set {
_hasBits0 |= 512;
renewWithUsage_ = value;
}
}
/// Gets whether the "renew_with_usage" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasRenewWithUsage {
get { return (_hasBits0 & 512) != 0; }
}
/// Clears the value of the "renew_with_usage" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearRenewWithUsage() {
_hasBits0 &= ~512;
}
/// Field number for the "always_include_client_id" field.
public const int AlwaysIncludeClientIdFieldNumber = 12;
private readonly static bool AlwaysIncludeClientIdDefaultValue = false;
private bool alwaysIncludeClientId_;
///
/// Indicates to client that license renewal and release requests ought to
/// include ClientIdentification (client_id).
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool AlwaysIncludeClientId {
get { if ((_hasBits0 & 1024) != 0) { return alwaysIncludeClientId_; } else { return AlwaysIncludeClientIdDefaultValue; } }
set {
_hasBits0 |= 1024;
alwaysIncludeClientId_ = value;
}
}
/// Gets whether the "always_include_client_id" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasAlwaysIncludeClientId {
get { return (_hasBits0 & 1024) != 0; }
}
/// Clears the value of the "always_include_client_id" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearAlwaysIncludeClientId() {
_hasBits0 &= ~1024;
}
/// Field number for the "play_start_grace_period_seconds" field.
public const int PlayStartGracePeriodSecondsFieldNumber = 13;
private readonly static long PlayStartGracePeriodSecondsDefaultValue = 0L;
private long playStartGracePeriodSeconds_;
///
/// Duration of grace period before playback_duration_seconds (short window)
/// goes into effect. Optional.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public long PlayStartGracePeriodSeconds {
get { if ((_hasBits0 & 2048) != 0) { return playStartGracePeriodSeconds_; } else { return PlayStartGracePeriodSecondsDefaultValue; } }
set {
_hasBits0 |= 2048;
playStartGracePeriodSeconds_ = value;
}
}
/// Gets whether the "play_start_grace_period_seconds" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasPlayStartGracePeriodSeconds {
get { return (_hasBits0 & 2048) != 0; }
}
/// Clears the value of the "play_start_grace_period_seconds" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearPlayStartGracePeriodSeconds() {
_hasBits0 &= ~2048;
}
/// Field number for the "soft_enforce_playback_duration" field.
public const int SoftEnforcePlaybackDurationFieldNumber = 14;
private readonly static bool SoftEnforcePlaybackDurationDefaultValue = false;
private bool softEnforcePlaybackDuration_;
///
/// Enables "soft enforcement" of playback_duration_seconds, letting the user
/// finish playback even if short window expires. Optional.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool SoftEnforcePlaybackDuration {
get { if ((_hasBits0 & 4096) != 0) { return softEnforcePlaybackDuration_; } else { return SoftEnforcePlaybackDurationDefaultValue; } }
set {
_hasBits0 |= 4096;
softEnforcePlaybackDuration_ = value;
}
}
/// Gets whether the "soft_enforce_playback_duration" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasSoftEnforcePlaybackDuration {
get { return (_hasBits0 & 4096) != 0; }
}
/// Clears the value of the "soft_enforce_playback_duration" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearSoftEnforcePlaybackDuration() {
_hasBits0 &= ~4096;
}
/// Field number for the "soft_enforce_rental_duration" field.
public const int SoftEnforceRentalDurationFieldNumber = 15;
private readonly static bool SoftEnforceRentalDurationDefaultValue = true;
private bool softEnforceRentalDuration_;
///
/// Enables "soft enforcement" of rental_duration_seconds. Initial playback
/// must always start before rental duration expires. In order to allow
/// subsequent playbacks to start after the rental duration expires,
/// soft_enforce_playback_duration must be true. Otherwise, subsequent
/// playbacks will not be allowed once rental duration expires. Optional.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool SoftEnforceRentalDuration {
get { if ((_hasBits0 & 8192) != 0) { return softEnforceRentalDuration_; } else { return SoftEnforceRentalDurationDefaultValue; } }
set {
_hasBits0 |= 8192;
softEnforceRentalDuration_ = value;
}
}
/// Gets whether the "soft_enforce_rental_duration" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasSoftEnforceRentalDuration {
get { return (_hasBits0 & 8192) != 0; }
}
/// Clears the value of the "soft_enforce_rental_duration" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearSoftEnforceRentalDuration() {
_hasBits0 &= ~8192;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as Policy);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(Policy other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (CanPlay != other.CanPlay) return false;
if (CanPersist != other.CanPersist) return false;
if (CanRenew != other.CanRenew) return false;
if (RentalDurationSeconds != other.RentalDurationSeconds) return false;
if (PlaybackDurationSeconds != other.PlaybackDurationSeconds) return false;
if (LicenseDurationSeconds != other.LicenseDurationSeconds) return false;
if (RenewalRecoveryDurationSeconds != other.RenewalRecoveryDurationSeconds) return false;
if (RenewalServerUrl != other.RenewalServerUrl) return false;
if (RenewalDelaySeconds != other.RenewalDelaySeconds) return false;
if (RenewalRetryIntervalSeconds != other.RenewalRetryIntervalSeconds) return false;
if (RenewWithUsage != other.RenewWithUsage) return false;
if (AlwaysIncludeClientId != other.AlwaysIncludeClientId) return false;
if (PlayStartGracePeriodSeconds != other.PlayStartGracePeriodSeconds) return false;
if (SoftEnforcePlaybackDuration != other.SoftEnforcePlaybackDuration) return false;
if (SoftEnforceRentalDuration != other.SoftEnforceRentalDuration) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (HasCanPlay) hash ^= CanPlay.GetHashCode();
if (HasCanPersist) hash ^= CanPersist.GetHashCode();
if (HasCanRenew) hash ^= CanRenew.GetHashCode();
if (HasRentalDurationSeconds) hash ^= RentalDurationSeconds.GetHashCode();
if (HasPlaybackDurationSeconds) hash ^= PlaybackDurationSeconds.GetHashCode();
if (HasLicenseDurationSeconds) hash ^= LicenseDurationSeconds.GetHashCode();
if (HasRenewalRecoveryDurationSeconds) hash ^= RenewalRecoveryDurationSeconds.GetHashCode();
if (HasRenewalServerUrl) hash ^= RenewalServerUrl.GetHashCode();
if (HasRenewalDelaySeconds) hash ^= RenewalDelaySeconds.GetHashCode();
if (HasRenewalRetryIntervalSeconds) hash ^= RenewalRetryIntervalSeconds.GetHashCode();
if (HasRenewWithUsage) hash ^= RenewWithUsage.GetHashCode();
if (HasAlwaysIncludeClientId) hash ^= AlwaysIncludeClientId.GetHashCode();
if (HasPlayStartGracePeriodSeconds) hash ^= PlayStartGracePeriodSeconds.GetHashCode();
if (HasSoftEnforcePlaybackDuration) hash ^= SoftEnforcePlaybackDuration.GetHashCode();
if (HasSoftEnforceRentalDuration) hash ^= SoftEnforceRentalDuration.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (HasCanPlay) {
output.WriteRawTag(8);
output.WriteBool(CanPlay);
}
if (HasCanPersist) {
output.WriteRawTag(16);
output.WriteBool(CanPersist);
}
if (HasCanRenew) {
output.WriteRawTag(24);
output.WriteBool(CanRenew);
}
if (HasRentalDurationSeconds) {
output.WriteRawTag(32);
output.WriteInt64(RentalDurationSeconds);
}
if (HasPlaybackDurationSeconds) {
output.WriteRawTag(40);
output.WriteInt64(PlaybackDurationSeconds);
}
if (HasLicenseDurationSeconds) {
output.WriteRawTag(48);
output.WriteInt64(LicenseDurationSeconds);
}
if (HasRenewalRecoveryDurationSeconds) {
output.WriteRawTag(56);
output.WriteInt64(RenewalRecoveryDurationSeconds);
}
if (HasRenewalServerUrl) {
output.WriteRawTag(66);
output.WriteString(RenewalServerUrl);
}
if (HasRenewalDelaySeconds) {
output.WriteRawTag(72);
output.WriteInt64(RenewalDelaySeconds);
}
if (HasRenewalRetryIntervalSeconds) {
output.WriteRawTag(80);
output.WriteInt64(RenewalRetryIntervalSeconds);
}
if (HasRenewWithUsage) {
output.WriteRawTag(88);
output.WriteBool(RenewWithUsage);
}
if (HasAlwaysIncludeClientId) {
output.WriteRawTag(96);
output.WriteBool(AlwaysIncludeClientId);
}
if (HasPlayStartGracePeriodSeconds) {
output.WriteRawTag(104);
output.WriteInt64(PlayStartGracePeriodSeconds);
}
if (HasSoftEnforcePlaybackDuration) {
output.WriteRawTag(112);
output.WriteBool(SoftEnforcePlaybackDuration);
}
if (HasSoftEnforceRentalDuration) {
output.WriteRawTag(120);
output.WriteBool(SoftEnforceRentalDuration);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (HasCanPlay) {
output.WriteRawTag(8);
output.WriteBool(CanPlay);
}
if (HasCanPersist) {
output.WriteRawTag(16);
output.WriteBool(CanPersist);
}
if (HasCanRenew) {
output.WriteRawTag(24);
output.WriteBool(CanRenew);
}
if (HasRentalDurationSeconds) {
output.WriteRawTag(32);
output.WriteInt64(RentalDurationSeconds);
}
if (HasPlaybackDurationSeconds) {
output.WriteRawTag(40);
output.WriteInt64(PlaybackDurationSeconds);
}
if (HasLicenseDurationSeconds) {
output.WriteRawTag(48);
output.WriteInt64(LicenseDurationSeconds);
}
if (HasRenewalRecoveryDurationSeconds) {
output.WriteRawTag(56);
output.WriteInt64(RenewalRecoveryDurationSeconds);
}
if (HasRenewalServerUrl) {
output.WriteRawTag(66);
output.WriteString(RenewalServerUrl);
}
if (HasRenewalDelaySeconds) {
output.WriteRawTag(72);
output.WriteInt64(RenewalDelaySeconds);
}
if (HasRenewalRetryIntervalSeconds) {
output.WriteRawTag(80);
output.WriteInt64(RenewalRetryIntervalSeconds);
}
if (HasRenewWithUsage) {
output.WriteRawTag(88);
output.WriteBool(RenewWithUsage);
}
if (HasAlwaysIncludeClientId) {
output.WriteRawTag(96);
output.WriteBool(AlwaysIncludeClientId);
}
if (HasPlayStartGracePeriodSeconds) {
output.WriteRawTag(104);
output.WriteInt64(PlayStartGracePeriodSeconds);
}
if (HasSoftEnforcePlaybackDuration) {
output.WriteRawTag(112);
output.WriteBool(SoftEnforcePlaybackDuration);
}
if (HasSoftEnforceRentalDuration) {
output.WriteRawTag(120);
output.WriteBool(SoftEnforceRentalDuration);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (HasCanPlay) {
size += 1 + 1;
}
if (HasCanPersist) {
size += 1 + 1;
}
if (HasCanRenew) {
size += 1 + 1;
}
if (HasRentalDurationSeconds) {
size += 1 + pb::CodedOutputStream.ComputeInt64Size(RentalDurationSeconds);
}
if (HasPlaybackDurationSeconds) {
size += 1 + pb::CodedOutputStream.ComputeInt64Size(PlaybackDurationSeconds);
}
if (HasLicenseDurationSeconds) {
size += 1 + pb::CodedOutputStream.ComputeInt64Size(LicenseDurationSeconds);
}
if (HasRenewalRecoveryDurationSeconds) {
size += 1 + pb::CodedOutputStream.ComputeInt64Size(RenewalRecoveryDurationSeconds);
}
if (HasRenewalServerUrl) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(RenewalServerUrl);
}
if (HasRenewalDelaySeconds) {
size += 1 + pb::CodedOutputStream.ComputeInt64Size(RenewalDelaySeconds);
}
if (HasRenewalRetryIntervalSeconds) {
size += 1 + pb::CodedOutputStream.ComputeInt64Size(RenewalRetryIntervalSeconds);
}
if (HasRenewWithUsage) {
size += 1 + 1;
}
if (HasAlwaysIncludeClientId) {
size += 1 + 1;
}
if (HasPlayStartGracePeriodSeconds) {
size += 1 + pb::CodedOutputStream.ComputeInt64Size(PlayStartGracePeriodSeconds);
}
if (HasSoftEnforcePlaybackDuration) {
size += 1 + 1;
}
if (HasSoftEnforceRentalDuration) {
size += 1 + 1;
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(Policy other) {
if (other == null) {
return;
}
if (other.HasCanPlay) {
CanPlay = other.CanPlay;
}
if (other.HasCanPersist) {
CanPersist = other.CanPersist;
}
if (other.HasCanRenew) {
CanRenew = other.CanRenew;
}
if (other.HasRentalDurationSeconds) {
RentalDurationSeconds = other.RentalDurationSeconds;
}
if (other.HasPlaybackDurationSeconds) {
PlaybackDurationSeconds = other.PlaybackDurationSeconds;
}
if (other.HasLicenseDurationSeconds) {
LicenseDurationSeconds = other.LicenseDurationSeconds;
}
if (other.HasRenewalRecoveryDurationSeconds) {
RenewalRecoveryDurationSeconds = other.RenewalRecoveryDurationSeconds;
}
if (other.HasRenewalServerUrl) {
RenewalServerUrl = other.RenewalServerUrl;
}
if (other.HasRenewalDelaySeconds) {
RenewalDelaySeconds = other.RenewalDelaySeconds;
}
if (other.HasRenewalRetryIntervalSeconds) {
RenewalRetryIntervalSeconds = other.RenewalRetryIntervalSeconds;
}
if (other.HasRenewWithUsage) {
RenewWithUsage = other.RenewWithUsage;
}
if (other.HasAlwaysIncludeClientId) {
AlwaysIncludeClientId = other.AlwaysIncludeClientId;
}
if (other.HasPlayStartGracePeriodSeconds) {
PlayStartGracePeriodSeconds = other.PlayStartGracePeriodSeconds;
}
if (other.HasSoftEnforcePlaybackDuration) {
SoftEnforcePlaybackDuration = other.SoftEnforcePlaybackDuration;
}
if (other.HasSoftEnforceRentalDuration) {
SoftEnforceRentalDuration = other.SoftEnforceRentalDuration;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
CanPlay = input.ReadBool();
break;
}
case 16: {
CanPersist = input.ReadBool();
break;
}
case 24: {
CanRenew = input.ReadBool();
break;
}
case 32: {
RentalDurationSeconds = input.ReadInt64();
break;
}
case 40: {
PlaybackDurationSeconds = input.ReadInt64();
break;
}
case 48: {
LicenseDurationSeconds = input.ReadInt64();
break;
}
case 56: {
RenewalRecoveryDurationSeconds = input.ReadInt64();
break;
}
case 66: {
RenewalServerUrl = input.ReadString();
break;
}
case 72: {
RenewalDelaySeconds = input.ReadInt64();
break;
}
case 80: {
RenewalRetryIntervalSeconds = input.ReadInt64();
break;
}
case 88: {
RenewWithUsage = input.ReadBool();
break;
}
case 96: {
AlwaysIncludeClientId = input.ReadBool();
break;
}
case 104: {
PlayStartGracePeriodSeconds = input.ReadInt64();
break;
}
case 112: {
SoftEnforcePlaybackDuration = input.ReadBool();
break;
}
case 120: {
SoftEnforceRentalDuration = input.ReadBool();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 8: {
CanPlay = input.ReadBool();
break;
}
case 16: {
CanPersist = input.ReadBool();
break;
}
case 24: {
CanRenew = input.ReadBool();
break;
}
case 32: {
RentalDurationSeconds = input.ReadInt64();
break;
}
case 40: {
PlaybackDurationSeconds = input.ReadInt64();
break;
}
case 48: {
LicenseDurationSeconds = input.ReadInt64();
break;
}
case 56: {
RenewalRecoveryDurationSeconds = input.ReadInt64();
break;
}
case 66: {
RenewalServerUrl = input.ReadString();
break;
}
case 72: {
RenewalDelaySeconds = input.ReadInt64();
break;
}
case 80: {
RenewalRetryIntervalSeconds = input.ReadInt64();
break;
}
case 88: {
RenewWithUsage = input.ReadBool();
break;
}
case 96: {
AlwaysIncludeClientId = input.ReadBool();
break;
}
case 104: {
PlayStartGracePeriodSeconds = input.ReadInt64();
break;
}
case 112: {
SoftEnforcePlaybackDuration = input.ReadBool();
break;
}
case 120: {
SoftEnforceRentalDuration = input.ReadBool();
break;
}
}
}
}
#endif
}
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class KeyContainer : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new KeyContainer());
private pb::UnknownFieldSet _unknownFields;
private int _hasBits0;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.License.Descriptor.NestedTypes[1]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public KeyContainer() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public KeyContainer(KeyContainer other) : this() {
_hasBits0 = other._hasBits0;
id_ = other.id_;
iv_ = other.iv_;
key_ = other.key_;
type_ = other.type_;
level_ = other.level_;
requiredProtection_ = other.requiredProtection_ != null ? other.requiredProtection_.Clone() : null;
requestedProtection_ = other.requestedProtection_ != null ? other.requestedProtection_.Clone() : null;
keyControl_ = other.keyControl_ != null ? other.keyControl_.Clone() : null;
operatorSessionKeyPermissions_ = other.operatorSessionKeyPermissions_ != null ? other.operatorSessionKeyPermissions_.Clone() : null;
videoResolutionConstraints_ = other.videoResolutionConstraints_.Clone();
antiRollbackUsageTable_ = other.antiRollbackUsageTable_;
trackLabel_ = other.trackLabel_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public KeyContainer Clone() {
return new KeyContainer(this);
}
/// Field number for the "id" field.
public const int IdFieldNumber = 1;
private readonly static pb::ByteString IdDefaultValue = pb::ByteString.Empty;
private pb::ByteString id_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString Id {
get { return id_ ?? IdDefaultValue; }
set {
id_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "id" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasId {
get { return id_ != null; }
}
/// Clears the value of the "id" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearId() {
id_ = null;
}
/// Field number for the "iv" field.
public const int IvFieldNumber = 2;
private readonly static pb::ByteString IvDefaultValue = pb::ByteString.Empty;
private pb::ByteString iv_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString Iv {
get { return iv_ ?? IvDefaultValue; }
set {
iv_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "iv" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasIv {
get { return iv_ != null; }
}
/// Clears the value of the "iv" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearIv() {
iv_ = null;
}
/// Field number for the "key" field.
public const int KeyFieldNumber = 3;
private readonly static pb::ByteString KeyDefaultValue = pb::ByteString.Empty;
private pb::ByteString key_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString Key {
get { return key_ ?? KeyDefaultValue; }
set {
key_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "key" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasKey {
get { return key_ != null; }
}
/// Clears the value of the "key" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearKey() {
key_ = null;
}
/// Field number for the "type" field.
public const int TypeFieldNumber = 4;
private readonly static global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.KeyType TypeDefaultValue = global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.KeyType.Signing;
private global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.KeyType type_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.KeyType Type {
get { if ((_hasBits0 & 1) != 0) { return type_; } else { return TypeDefaultValue; } }
set {
_hasBits0 |= 1;
type_ = value;
}
}
/// Gets whether the "type" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasType {
get { return (_hasBits0 & 1) != 0; }
}
/// Clears the value of the "type" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearType() {
_hasBits0 &= ~1;
}
/// Field number for the "level" field.
public const int LevelFieldNumber = 5;
private readonly static global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.SecurityLevel LevelDefaultValue = global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.SecurityLevel.SwSecureCrypto;
private global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.SecurityLevel level_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.SecurityLevel Level {
get { if ((_hasBits0 & 2) != 0) { return level_; } else { return LevelDefaultValue; } }
set {
_hasBits0 |= 2;
level_ = value;
}
}
/// Gets whether the "level" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasLevel {
get { return (_hasBits0 & 2) != 0; }
}
/// Clears the value of the "level" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearLevel() {
_hasBits0 &= ~2;
}
/// Field number for the "required_protection" field.
public const int RequiredProtectionFieldNumber = 6;
private global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection requiredProtection_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection RequiredProtection {
get { return requiredProtection_; }
set {
requiredProtection_ = value;
}
}
/// Field number for the "requested_protection" field.
public const int RequestedProtectionFieldNumber = 7;
private global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection requestedProtection_;
///
/// NOTE: Use of requested_protection is not recommended as it is only
/// supported on a small number of platforms.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection RequestedProtection {
get { return requestedProtection_; }
set {
requestedProtection_ = value;
}
}
/// Field number for the "key_control" field.
public const int KeyControlFieldNumber = 8;
private global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.KeyControl keyControl_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.KeyControl KeyControl {
get { return keyControl_; }
set {
keyControl_ = value;
}
}
/// Field number for the "operator_session_key_permissions" field.
public const int OperatorSessionKeyPermissionsFieldNumber = 9;
private global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OperatorSessionKeyPermissions operatorSessionKeyPermissions_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OperatorSessionKeyPermissions OperatorSessionKeyPermissions {
get { return operatorSessionKeyPermissions_; }
set {
operatorSessionKeyPermissions_ = value;
}
}
/// Field number for the "video_resolution_constraints" field.
public const int VideoResolutionConstraintsFieldNumber = 10;
private static readonly pb::FieldCodec _repeated_videoResolutionConstraints_codec
= pb::FieldCodec.ForMessage(82, global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.VideoResolutionConstraint.Parser);
private readonly pbc::RepeatedField videoResolutionConstraints_ = new pbc::RepeatedField();
///
/// Optional video resolution constraints. If the video resolution of the
/// content being decrypted/decoded falls within one of the specified ranges,
/// the optional required_protections may be applied. Otherwise an error will
/// be reported.
/// NOTE: Use of this feature is not recommended, as it is only supported on
/// a small number of platforms.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pbc::RepeatedField VideoResolutionConstraints {
get { return videoResolutionConstraints_; }
}
/// Field number for the "anti_rollback_usage_table" field.
public const int AntiRollbackUsageTableFieldNumber = 11;
private readonly static bool AntiRollbackUsageTableDefaultValue = false;
private bool antiRollbackUsageTable_;
///
/// Optional flag to indicate the key must only be used if the client
/// supports anti rollback of the user table. Content provider can query the
/// client capabilities to determine if the client support this feature.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool AntiRollbackUsageTable {
get { if ((_hasBits0 & 4) != 0) { return antiRollbackUsageTable_; } else { return AntiRollbackUsageTableDefaultValue; } }
set {
_hasBits0 |= 4;
antiRollbackUsageTable_ = value;
}
}
/// Gets whether the "anti_rollback_usage_table" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasAntiRollbackUsageTable {
get { return (_hasBits0 & 4) != 0; }
}
/// Clears the value of the "anti_rollback_usage_table" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearAntiRollbackUsageTable() {
_hasBits0 &= ~4;
}
/// Field number for the "track_label" field.
public const int TrackLabelFieldNumber = 12;
private readonly static string TrackLabelDefaultValue = "";
private string trackLabel_;
///
/// Optional not limited to commonly known track types such as SD, HD.
/// It can be some provider defined label to identify the track.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public string TrackLabel {
get { return trackLabel_ ?? TrackLabelDefaultValue; }
set {
trackLabel_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "track_label" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasTrackLabel {
get { return trackLabel_ != null; }
}
/// Clears the value of the "track_label" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearTrackLabel() {
trackLabel_ = null;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as KeyContainer);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(KeyContainer other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (Id != other.Id) return false;
if (Iv != other.Iv) return false;
if (Key != other.Key) return false;
if (Type != other.Type) return false;
if (Level != other.Level) return false;
if (!object.Equals(RequiredProtection, other.RequiredProtection)) return false;
if (!object.Equals(RequestedProtection, other.RequestedProtection)) return false;
if (!object.Equals(KeyControl, other.KeyControl)) return false;
if (!object.Equals(OperatorSessionKeyPermissions, other.OperatorSessionKeyPermissions)) return false;
if(!videoResolutionConstraints_.Equals(other.videoResolutionConstraints_)) return false;
if (AntiRollbackUsageTable != other.AntiRollbackUsageTable) return false;
if (TrackLabel != other.TrackLabel) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (HasId) hash ^= Id.GetHashCode();
if (HasIv) hash ^= Iv.GetHashCode();
if (HasKey) hash ^= Key.GetHashCode();
if (HasType) hash ^= Type.GetHashCode();
if (HasLevel) hash ^= Level.GetHashCode();
if (requiredProtection_ != null) hash ^= RequiredProtection.GetHashCode();
if (requestedProtection_ != null) hash ^= RequestedProtection.GetHashCode();
if (keyControl_ != null) hash ^= KeyControl.GetHashCode();
if (operatorSessionKeyPermissions_ != null) hash ^= OperatorSessionKeyPermissions.GetHashCode();
hash ^= videoResolutionConstraints_.GetHashCode();
if (HasAntiRollbackUsageTable) hash ^= AntiRollbackUsageTable.GetHashCode();
if (HasTrackLabel) hash ^= TrackLabel.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (HasId) {
output.WriteRawTag(10);
output.WriteBytes(Id);
}
if (HasIv) {
output.WriteRawTag(18);
output.WriteBytes(Iv);
}
if (HasKey) {
output.WriteRawTag(26);
output.WriteBytes(Key);
}
if (HasType) {
output.WriteRawTag(32);
output.WriteEnum((int) Type);
}
if (HasLevel) {
output.WriteRawTag(40);
output.WriteEnum((int) Level);
}
if (requiredProtection_ != null) {
output.WriteRawTag(50);
output.WriteMessage(RequiredProtection);
}
if (requestedProtection_ != null) {
output.WriteRawTag(58);
output.WriteMessage(RequestedProtection);
}
if (keyControl_ != null) {
output.WriteRawTag(66);
output.WriteMessage(KeyControl);
}
if (operatorSessionKeyPermissions_ != null) {
output.WriteRawTag(74);
output.WriteMessage(OperatorSessionKeyPermissions);
}
videoResolutionConstraints_.WriteTo(output, _repeated_videoResolutionConstraints_codec);
if (HasAntiRollbackUsageTable) {
output.WriteRawTag(88);
output.WriteBool(AntiRollbackUsageTable);
}
if (HasTrackLabel) {
output.WriteRawTag(98);
output.WriteString(TrackLabel);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (HasId) {
output.WriteRawTag(10);
output.WriteBytes(Id);
}
if (HasIv) {
output.WriteRawTag(18);
output.WriteBytes(Iv);
}
if (HasKey) {
output.WriteRawTag(26);
output.WriteBytes(Key);
}
if (HasType) {
output.WriteRawTag(32);
output.WriteEnum((int) Type);
}
if (HasLevel) {
output.WriteRawTag(40);
output.WriteEnum((int) Level);
}
if (requiredProtection_ != null) {
output.WriteRawTag(50);
output.WriteMessage(RequiredProtection);
}
if (requestedProtection_ != null) {
output.WriteRawTag(58);
output.WriteMessage(RequestedProtection);
}
if (keyControl_ != null) {
output.WriteRawTag(66);
output.WriteMessage(KeyControl);
}
if (operatorSessionKeyPermissions_ != null) {
output.WriteRawTag(74);
output.WriteMessage(OperatorSessionKeyPermissions);
}
videoResolutionConstraints_.WriteTo(ref output, _repeated_videoResolutionConstraints_codec);
if (HasAntiRollbackUsageTable) {
output.WriteRawTag(88);
output.WriteBool(AntiRollbackUsageTable);
}
if (HasTrackLabel) {
output.WriteRawTag(98);
output.WriteString(TrackLabel);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (HasId) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(Id);
}
if (HasIv) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(Iv);
}
if (HasKey) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(Key);
}
if (HasType) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
}
if (HasLevel) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Level);
}
if (requiredProtection_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(RequiredProtection);
}
if (requestedProtection_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(RequestedProtection);
}
if (keyControl_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(KeyControl);
}
if (operatorSessionKeyPermissions_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(OperatorSessionKeyPermissions);
}
size += videoResolutionConstraints_.CalculateSize(_repeated_videoResolutionConstraints_codec);
if (HasAntiRollbackUsageTable) {
size += 1 + 1;
}
if (HasTrackLabel) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackLabel);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(KeyContainer other) {
if (other == null) {
return;
}
if (other.HasId) {
Id = other.Id;
}
if (other.HasIv) {
Iv = other.Iv;
}
if (other.HasKey) {
Key = other.Key;
}
if (other.HasType) {
Type = other.Type;
}
if (other.HasLevel) {
Level = other.Level;
}
if (other.requiredProtection_ != null) {
if (requiredProtection_ == null) {
RequiredProtection = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection();
}
RequiredProtection.MergeFrom(other.RequiredProtection);
}
if (other.requestedProtection_ != null) {
if (requestedProtection_ == null) {
RequestedProtection = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection();
}
RequestedProtection.MergeFrom(other.RequestedProtection);
}
if (other.keyControl_ != null) {
if (keyControl_ == null) {
KeyControl = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.KeyControl();
}
KeyControl.MergeFrom(other.KeyControl);
}
if (other.operatorSessionKeyPermissions_ != null) {
if (operatorSessionKeyPermissions_ == null) {
OperatorSessionKeyPermissions = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OperatorSessionKeyPermissions();
}
OperatorSessionKeyPermissions.MergeFrom(other.OperatorSessionKeyPermissions);
}
videoResolutionConstraints_.Add(other.videoResolutionConstraints_);
if (other.HasAntiRollbackUsageTable) {
AntiRollbackUsageTable = other.AntiRollbackUsageTable;
}
if (other.HasTrackLabel) {
TrackLabel = other.TrackLabel;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
Id = input.ReadBytes();
break;
}
case 18: {
Iv = input.ReadBytes();
break;
}
case 26: {
Key = input.ReadBytes();
break;
}
case 32: {
Type = (global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.KeyType) input.ReadEnum();
break;
}
case 40: {
Level = (global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.SecurityLevel) input.ReadEnum();
break;
}
case 50: {
if (requiredProtection_ == null) {
RequiredProtection = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection();
}
input.ReadMessage(RequiredProtection);
break;
}
case 58: {
if (requestedProtection_ == null) {
RequestedProtection = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection();
}
input.ReadMessage(RequestedProtection);
break;
}
case 66: {
if (keyControl_ == null) {
KeyControl = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.KeyControl();
}
input.ReadMessage(KeyControl);
break;
}
case 74: {
if (operatorSessionKeyPermissions_ == null) {
OperatorSessionKeyPermissions = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OperatorSessionKeyPermissions();
}
input.ReadMessage(OperatorSessionKeyPermissions);
break;
}
case 82: {
videoResolutionConstraints_.AddEntriesFrom(input, _repeated_videoResolutionConstraints_codec);
break;
}
case 88: {
AntiRollbackUsageTable = input.ReadBool();
break;
}
case 98: {
TrackLabel = input.ReadString();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 10: {
Id = input.ReadBytes();
break;
}
case 18: {
Iv = input.ReadBytes();
break;
}
case 26: {
Key = input.ReadBytes();
break;
}
case 32: {
Type = (global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.KeyType) input.ReadEnum();
break;
}
case 40: {
Level = (global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.SecurityLevel) input.ReadEnum();
break;
}
case 50: {
if (requiredProtection_ == null) {
RequiredProtection = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection();
}
input.ReadMessage(RequiredProtection);
break;
}
case 58: {
if (requestedProtection_ == null) {
RequestedProtection = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection();
}
input.ReadMessage(RequestedProtection);
break;
}
case 66: {
if (keyControl_ == null) {
KeyControl = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.KeyControl();
}
input.ReadMessage(KeyControl);
break;
}
case 74: {
if (operatorSessionKeyPermissions_ == null) {
OperatorSessionKeyPermissions = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OperatorSessionKeyPermissions();
}
input.ReadMessage(OperatorSessionKeyPermissions);
break;
}
case 82: {
videoResolutionConstraints_.AddEntriesFrom(ref input, _repeated_videoResolutionConstraints_codec);
break;
}
case 88: {
AntiRollbackUsageTable = input.ReadBool();
break;
}
case 98: {
TrackLabel = input.ReadString();
break;
}
}
}
}
#endif
#region Nested types
/// Container for nested types declared in the KeyContainer message type.
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static partial class Types {
internal enum KeyType {
///
/// Exactly one key of this type must appear.
///
[pbr::OriginalName("SIGNING")] Signing = 1,
///
/// Content key.
///
[pbr::OriginalName("CONTENT")] Content = 2,
///
/// Key control block for license renewals. No key.
///
[pbr::OriginalName("KEY_CONTROL")] KeyControl = 3,
///
/// wrapped keys for auxiliary crypto operations.
///
[pbr::OriginalName("OPERATOR_SESSION")] OperatorSession = 4,
///
/// Entitlement keys.
///
[pbr::OriginalName("ENTITLEMENT")] Entitlement = 5,
///
/// Partner-specific content key.
///
[pbr::OriginalName("OEM_CONTENT")] OemContent = 6,
}
///
/// The SecurityLevel enumeration allows the server to communicate the level
/// of robustness required by the client, in order to use the key.
///
internal enum SecurityLevel {
///
/// Software-based whitebox crypto is required.
///
[pbr::OriginalName("SW_SECURE_CRYPTO")] SwSecureCrypto = 1,
///
/// Software crypto and an obfuscated decoder is required.
///
[pbr::OriginalName("SW_SECURE_DECODE")] SwSecureDecode = 2,
///
/// The key material and crypto operations must be performed within a
/// hardware backed trusted execution environment.
///
[pbr::OriginalName("HW_SECURE_CRYPTO")] HwSecureCrypto = 3,
///
/// The crypto and decoding of content must be performed within a hardware
/// backed trusted execution environment.
///
[pbr::OriginalName("HW_SECURE_DECODE")] HwSecureDecode = 4,
///
/// The crypto, decoding and all handling of the media (compressed and
/// uncompressed) must be handled within a hardware backed trusted
/// execution environment.
///
[pbr::OriginalName("HW_SECURE_ALL")] HwSecureAll = 5,
}
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class KeyControl : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new KeyControl());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.License.Types.KeyContainer.Descriptor.NestedTypes[0]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public KeyControl() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public KeyControl(KeyControl other) : this() {
keyControlBlock_ = other.keyControlBlock_;
iv_ = other.iv_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public KeyControl Clone() {
return new KeyControl(this);
}
/// Field number for the "key_control_block" field.
public const int KeyControlBlockFieldNumber = 1;
private readonly static pb::ByteString KeyControlBlockDefaultValue = pb::ByteString.Empty;
private pb::ByteString keyControlBlock_;
///
/// |key_control| is documented in:
/// Widevine Modular DRM Security Integration Guide for CENC
/// If present, the key control must be communicated to the secure
/// environment prior to any usage. This message is automatically generated
/// by the Widevine License Server SDK.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString KeyControlBlock {
get { return keyControlBlock_ ?? KeyControlBlockDefaultValue; }
set {
keyControlBlock_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "key_control_block" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasKeyControlBlock {
get { return keyControlBlock_ != null; }
}
/// Clears the value of the "key_control_block" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearKeyControlBlock() {
keyControlBlock_ = null;
}
/// Field number for the "iv" field.
public const int IvFieldNumber = 2;
private readonly static pb::ByteString IvDefaultValue = pb::ByteString.Empty;
private pb::ByteString iv_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString Iv {
get { return iv_ ?? IvDefaultValue; }
set {
iv_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "iv" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasIv {
get { return iv_ != null; }
}
/// Clears the value of the "iv" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearIv() {
iv_ = null;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as KeyControl);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(KeyControl other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (KeyControlBlock != other.KeyControlBlock) return false;
if (Iv != other.Iv) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (HasKeyControlBlock) hash ^= KeyControlBlock.GetHashCode();
if (HasIv) hash ^= Iv.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (HasKeyControlBlock) {
output.WriteRawTag(10);
output.WriteBytes(KeyControlBlock);
}
if (HasIv) {
output.WriteRawTag(18);
output.WriteBytes(Iv);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (HasKeyControlBlock) {
output.WriteRawTag(10);
output.WriteBytes(KeyControlBlock);
}
if (HasIv) {
output.WriteRawTag(18);
output.WriteBytes(Iv);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (HasKeyControlBlock) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(KeyControlBlock);
}
if (HasIv) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(Iv);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(KeyControl other) {
if (other == null) {
return;
}
if (other.HasKeyControlBlock) {
KeyControlBlock = other.KeyControlBlock;
}
if (other.HasIv) {
Iv = other.Iv;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
KeyControlBlock = input.ReadBytes();
break;
}
case 18: {
Iv = input.ReadBytes();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 10: {
KeyControlBlock = input.ReadBytes();
break;
}
case 18: {
Iv = input.ReadBytes();
break;
}
}
}
}
#endif
}
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class OutputProtection : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new OutputProtection());
private pb::UnknownFieldSet _unknownFields;
private int _hasBits0;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.License.Types.KeyContainer.Descriptor.NestedTypes[1]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public OutputProtection() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public OutputProtection(OutputProtection other) : this() {
_hasBits0 = other._hasBits0;
hdcp_ = other.hdcp_;
cgmsFlags_ = other.cgmsFlags_;
hdcpSrmRule_ = other.hdcpSrmRule_;
disableAnalogOutput_ = other.disableAnalogOutput_;
disableDigitalOutput_ = other.disableDigitalOutput_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public OutputProtection Clone() {
return new OutputProtection(this);
}
/// Field number for the "hdcp" field.
public const int HdcpFieldNumber = 1;
private readonly static global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection.Types.HDCP HdcpDefaultValue = global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection.Types.HDCP.None;
private global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection.Types.HDCP hdcp_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection.Types.HDCP Hdcp {
get { if ((_hasBits0 & 1) != 0) { return hdcp_; } else { return HdcpDefaultValue; } }
set {
_hasBits0 |= 1;
hdcp_ = value;
}
}
/// Gets whether the "hdcp" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasHdcp {
get { return (_hasBits0 & 1) != 0; }
}
/// Clears the value of the "hdcp" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearHdcp() {
_hasBits0 &= ~1;
}
/// Field number for the "cgms_flags" field.
public const int CgmsFlagsFieldNumber = 2;
private readonly static global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection.Types.CGMS CgmsFlagsDefaultValue = global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection.Types.CGMS.None;
private global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection.Types.CGMS cgmsFlags_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection.Types.CGMS CgmsFlags {
get { if ((_hasBits0 & 2) != 0) { return cgmsFlags_; } else { return CgmsFlagsDefaultValue; } }
set {
_hasBits0 |= 2;
cgmsFlags_ = value;
}
}
/// Gets whether the "cgms_flags" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasCgmsFlags {
get { return (_hasBits0 & 2) != 0; }
}
/// Clears the value of the "cgms_flags" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearCgmsFlags() {
_hasBits0 &= ~2;
}
/// Field number for the "hdcp_srm_rule" field.
public const int HdcpSrmRuleFieldNumber = 3;
private readonly static global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection.Types.HdcpSrmRule HdcpSrmRuleDefaultValue = global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection.Types.HdcpSrmRule.None;
private global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection.Types.HdcpSrmRule hdcpSrmRule_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection.Types.HdcpSrmRule HdcpSrmRule {
get { if ((_hasBits0 & 4) != 0) { return hdcpSrmRule_; } else { return HdcpSrmRuleDefaultValue; } }
set {
_hasBits0 |= 4;
hdcpSrmRule_ = value;
}
}
/// Gets whether the "hdcp_srm_rule" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasHdcpSrmRule {
get { return (_hasBits0 & 4) != 0; }
}
/// Clears the value of the "hdcp_srm_rule" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearHdcpSrmRule() {
_hasBits0 &= ~4;
}
/// Field number for the "disable_analog_output" field.
public const int DisableAnalogOutputFieldNumber = 4;
private readonly static bool DisableAnalogOutputDefaultValue = false;
private bool disableAnalogOutput_;
///
/// Optional requirement to indicate analog output is not allowed.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool DisableAnalogOutput {
get { if ((_hasBits0 & 8) != 0) { return disableAnalogOutput_; } else { return DisableAnalogOutputDefaultValue; } }
set {
_hasBits0 |= 8;
disableAnalogOutput_ = value;
}
}
/// Gets whether the "disable_analog_output" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasDisableAnalogOutput {
get { return (_hasBits0 & 8) != 0; }
}
/// Clears the value of the "disable_analog_output" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearDisableAnalogOutput() {
_hasBits0 &= ~8;
}
/// Field number for the "disable_digital_output" field.
public const int DisableDigitalOutputFieldNumber = 5;
private readonly static bool DisableDigitalOutputDefaultValue = false;
private bool disableDigitalOutput_;
///
/// Optional requirement to indicate digital output is not allowed.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool DisableDigitalOutput {
get { if ((_hasBits0 & 16) != 0) { return disableDigitalOutput_; } else { return DisableDigitalOutputDefaultValue; } }
set {
_hasBits0 |= 16;
disableDigitalOutput_ = value;
}
}
/// Gets whether the "disable_digital_output" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasDisableDigitalOutput {
get { return (_hasBits0 & 16) != 0; }
}
/// Clears the value of the "disable_digital_output" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearDisableDigitalOutput() {
_hasBits0 &= ~16;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as OutputProtection);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(OutputProtection other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (Hdcp != other.Hdcp) return false;
if (CgmsFlags != other.CgmsFlags) return false;
if (HdcpSrmRule != other.HdcpSrmRule) return false;
if (DisableAnalogOutput != other.DisableAnalogOutput) return false;
if (DisableDigitalOutput != other.DisableDigitalOutput) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (HasHdcp) hash ^= Hdcp.GetHashCode();
if (HasCgmsFlags) hash ^= CgmsFlags.GetHashCode();
if (HasHdcpSrmRule) hash ^= HdcpSrmRule.GetHashCode();
if (HasDisableAnalogOutput) hash ^= DisableAnalogOutput.GetHashCode();
if (HasDisableDigitalOutput) hash ^= DisableDigitalOutput.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (HasHdcp) {
output.WriteRawTag(8);
output.WriteEnum((int) Hdcp);
}
if (HasCgmsFlags) {
output.WriteRawTag(16);
output.WriteEnum((int) CgmsFlags);
}
if (HasHdcpSrmRule) {
output.WriteRawTag(24);
output.WriteEnum((int) HdcpSrmRule);
}
if (HasDisableAnalogOutput) {
output.WriteRawTag(32);
output.WriteBool(DisableAnalogOutput);
}
if (HasDisableDigitalOutput) {
output.WriteRawTag(40);
output.WriteBool(DisableDigitalOutput);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (HasHdcp) {
output.WriteRawTag(8);
output.WriteEnum((int) Hdcp);
}
if (HasCgmsFlags) {
output.WriteRawTag(16);
output.WriteEnum((int) CgmsFlags);
}
if (HasHdcpSrmRule) {
output.WriteRawTag(24);
output.WriteEnum((int) HdcpSrmRule);
}
if (HasDisableAnalogOutput) {
output.WriteRawTag(32);
output.WriteBool(DisableAnalogOutput);
}
if (HasDisableDigitalOutput) {
output.WriteRawTag(40);
output.WriteBool(DisableDigitalOutput);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (HasHdcp) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Hdcp);
}
if (HasCgmsFlags) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) CgmsFlags);
}
if (HasHdcpSrmRule) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) HdcpSrmRule);
}
if (HasDisableAnalogOutput) {
size += 1 + 1;
}
if (HasDisableDigitalOutput) {
size += 1 + 1;
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(OutputProtection other) {
if (other == null) {
return;
}
if (other.HasHdcp) {
Hdcp = other.Hdcp;
}
if (other.HasCgmsFlags) {
CgmsFlags = other.CgmsFlags;
}
if (other.HasHdcpSrmRule) {
HdcpSrmRule = other.HdcpSrmRule;
}
if (other.HasDisableAnalogOutput) {
DisableAnalogOutput = other.DisableAnalogOutput;
}
if (other.HasDisableDigitalOutput) {
DisableDigitalOutput = other.DisableDigitalOutput;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
Hdcp = (global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection.Types.HDCP) input.ReadEnum();
break;
}
case 16: {
CgmsFlags = (global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection.Types.CGMS) input.ReadEnum();
break;
}
case 24: {
HdcpSrmRule = (global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection.Types.HdcpSrmRule) input.ReadEnum();
break;
}
case 32: {
DisableAnalogOutput = input.ReadBool();
break;
}
case 40: {
DisableDigitalOutput = input.ReadBool();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 8: {
Hdcp = (global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection.Types.HDCP) input.ReadEnum();
break;
}
case 16: {
CgmsFlags = (global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection.Types.CGMS) input.ReadEnum();
break;
}
case 24: {
HdcpSrmRule = (global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection.Types.HdcpSrmRule) input.ReadEnum();
break;
}
case 32: {
DisableAnalogOutput = input.ReadBool();
break;
}
case 40: {
DisableDigitalOutput = input.ReadBool();
break;
}
}
}
}
#endif
#region Nested types
/// Container for nested types declared in the OutputProtection message type.
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static partial class Types {
///
/// Indicates whether HDCP is required on digital outputs, and which
/// version should be used.
///
internal enum HDCP {
[pbr::OriginalName("HDCP_NONE")] None = 0,
[pbr::OriginalName("HDCP_V1")] V1 = 1,
[pbr::OriginalName("HDCP_V2")] V2 = 2,
[pbr::OriginalName("HDCP_V2_1")] V21 = 3,
[pbr::OriginalName("HDCP_V2_2")] V22 = 4,
[pbr::OriginalName("HDCP_V2_3")] V23 = 5,
[pbr::OriginalName("HDCP_NO_DIGITAL_OUTPUT")] NoDigitalOutput = 255,
}
///
/// Indicate the CGMS setting to be inserted on analog output.
///
internal enum CGMS {
[pbr::OriginalName("CGMS_NONE")] None = 42,
[pbr::OriginalName("COPY_FREE")] CopyFree = 0,
[pbr::OriginalName("COPY_ONCE")] CopyOnce = 2,
[pbr::OriginalName("COPY_NEVER")] CopyNever = 3,
}
internal enum HdcpSrmRule {
[pbr::OriginalName("HDCP_SRM_RULE_NONE")] None = 0,
///
/// In 'required_protection', this means most current SRM is required.
/// Update the SRM on the device. If update cannot happen,
/// do not allow the key.
/// In 'requested_protection', this means most current SRM is requested.
/// Update the SRM on the device. If update cannot happen,
/// allow use of the key anyway.
///
[pbr::OriginalName("CURRENT_SRM")] CurrentSrm = 1,
}
}
#endregion
}
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class VideoResolutionConstraint : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new VideoResolutionConstraint());
private pb::UnknownFieldSet _unknownFields;
private int _hasBits0;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.License.Types.KeyContainer.Descriptor.NestedTypes[2]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public VideoResolutionConstraint() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public VideoResolutionConstraint(VideoResolutionConstraint other) : this() {
_hasBits0 = other._hasBits0;
minResolutionPixels_ = other.minResolutionPixels_;
maxResolutionPixels_ = other.maxResolutionPixels_;
requiredProtection_ = other.requiredProtection_ != null ? other.requiredProtection_.Clone() : null;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public VideoResolutionConstraint Clone() {
return new VideoResolutionConstraint(this);
}
/// Field number for the "min_resolution_pixels" field.
public const int MinResolutionPixelsFieldNumber = 1;
private readonly static uint MinResolutionPixelsDefaultValue = 0;
private uint minResolutionPixels_;
///
/// Minimum and maximum video resolutions in the range (height x width).
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public uint MinResolutionPixels {
get { if ((_hasBits0 & 1) != 0) { return minResolutionPixels_; } else { return MinResolutionPixelsDefaultValue; } }
set {
_hasBits0 |= 1;
minResolutionPixels_ = value;
}
}
/// Gets whether the "min_resolution_pixels" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasMinResolutionPixels {
get { return (_hasBits0 & 1) != 0; }
}
/// Clears the value of the "min_resolution_pixels" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearMinResolutionPixels() {
_hasBits0 &= ~1;
}
/// Field number for the "max_resolution_pixels" field.
public const int MaxResolutionPixelsFieldNumber = 2;
private readonly static uint MaxResolutionPixelsDefaultValue = 0;
private uint maxResolutionPixels_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public uint MaxResolutionPixels {
get { if ((_hasBits0 & 2) != 0) { return maxResolutionPixels_; } else { return MaxResolutionPixelsDefaultValue; } }
set {
_hasBits0 |= 2;
maxResolutionPixels_ = value;
}
}
/// Gets whether the "max_resolution_pixels" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasMaxResolutionPixels {
get { return (_hasBits0 & 2) != 0; }
}
/// Clears the value of the "max_resolution_pixels" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearMaxResolutionPixels() {
_hasBits0 &= ~2;
}
/// Field number for the "required_protection" field.
public const int RequiredProtectionFieldNumber = 3;
private global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection requiredProtection_;
///
/// Optional output protection requirements for this range. If not
/// specified, the OutputProtection in the KeyContainer applies.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection RequiredProtection {
get { return requiredProtection_; }
set {
requiredProtection_ = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as VideoResolutionConstraint);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(VideoResolutionConstraint other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (MinResolutionPixels != other.MinResolutionPixels) return false;
if (MaxResolutionPixels != other.MaxResolutionPixels) return false;
if (!object.Equals(RequiredProtection, other.RequiredProtection)) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (HasMinResolutionPixels) hash ^= MinResolutionPixels.GetHashCode();
if (HasMaxResolutionPixels) hash ^= MaxResolutionPixels.GetHashCode();
if (requiredProtection_ != null) hash ^= RequiredProtection.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (HasMinResolutionPixels) {
output.WriteRawTag(8);
output.WriteUInt32(MinResolutionPixels);
}
if (HasMaxResolutionPixels) {
output.WriteRawTag(16);
output.WriteUInt32(MaxResolutionPixels);
}
if (requiredProtection_ != null) {
output.WriteRawTag(26);
output.WriteMessage(RequiredProtection);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (HasMinResolutionPixels) {
output.WriteRawTag(8);
output.WriteUInt32(MinResolutionPixels);
}
if (HasMaxResolutionPixels) {
output.WriteRawTag(16);
output.WriteUInt32(MaxResolutionPixels);
}
if (requiredProtection_ != null) {
output.WriteRawTag(26);
output.WriteMessage(RequiredProtection);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (HasMinResolutionPixels) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(MinResolutionPixels);
}
if (HasMaxResolutionPixels) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(MaxResolutionPixels);
}
if (requiredProtection_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(RequiredProtection);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(VideoResolutionConstraint other) {
if (other == null) {
return;
}
if (other.HasMinResolutionPixels) {
MinResolutionPixels = other.MinResolutionPixels;
}
if (other.HasMaxResolutionPixels) {
MaxResolutionPixels = other.MaxResolutionPixels;
}
if (other.requiredProtection_ != null) {
if (requiredProtection_ == null) {
RequiredProtection = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection();
}
RequiredProtection.MergeFrom(other.RequiredProtection);
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
MinResolutionPixels = input.ReadUInt32();
break;
}
case 16: {
MaxResolutionPixels = input.ReadUInt32();
break;
}
case 26: {
if (requiredProtection_ == null) {
RequiredProtection = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection();
}
input.ReadMessage(RequiredProtection);
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 8: {
MinResolutionPixels = input.ReadUInt32();
break;
}
case 16: {
MaxResolutionPixels = input.ReadUInt32();
break;
}
case 26: {
if (requiredProtection_ == null) {
RequiredProtection = new global::AudibleUtilities.Widevine.License.Types.KeyContainer.Types.OutputProtection();
}
input.ReadMessage(RequiredProtection);
break;
}
}
}
}
#endif
}
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class OperatorSessionKeyPermissions : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new OperatorSessionKeyPermissions());
private pb::UnknownFieldSet _unknownFields;
private int _hasBits0;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.License.Types.KeyContainer.Descriptor.NestedTypes[3]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public OperatorSessionKeyPermissions() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public OperatorSessionKeyPermissions(OperatorSessionKeyPermissions other) : this() {
_hasBits0 = other._hasBits0;
allowEncrypt_ = other.allowEncrypt_;
allowDecrypt_ = other.allowDecrypt_;
allowSign_ = other.allowSign_;
allowSignatureVerify_ = other.allowSignatureVerify_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public OperatorSessionKeyPermissions Clone() {
return new OperatorSessionKeyPermissions(this);
}
/// Field number for the "allow_encrypt" field.
public const int AllowEncryptFieldNumber = 1;
private readonly static bool AllowEncryptDefaultValue = false;
private bool allowEncrypt_;
///
/// Permissions/key usage flags for operator service keys
/// (type = OPERATOR_SESSION).
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool AllowEncrypt {
get { if ((_hasBits0 & 1) != 0) { return allowEncrypt_; } else { return AllowEncryptDefaultValue; } }
set {
_hasBits0 |= 1;
allowEncrypt_ = value;
}
}
/// Gets whether the "allow_encrypt" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasAllowEncrypt {
get { return (_hasBits0 & 1) != 0; }
}
/// Clears the value of the "allow_encrypt" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearAllowEncrypt() {
_hasBits0 &= ~1;
}
/// Field number for the "allow_decrypt" field.
public const int AllowDecryptFieldNumber = 2;
private readonly static bool AllowDecryptDefaultValue = false;
private bool allowDecrypt_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool AllowDecrypt {
get { if ((_hasBits0 & 2) != 0) { return allowDecrypt_; } else { return AllowDecryptDefaultValue; } }
set {
_hasBits0 |= 2;
allowDecrypt_ = value;
}
}
/// Gets whether the "allow_decrypt" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasAllowDecrypt {
get { return (_hasBits0 & 2) != 0; }
}
/// Clears the value of the "allow_decrypt" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearAllowDecrypt() {
_hasBits0 &= ~2;
}
/// Field number for the "allow_sign" field.
public const int AllowSignFieldNumber = 3;
private readonly static bool AllowSignDefaultValue = false;
private bool allowSign_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool AllowSign {
get { if ((_hasBits0 & 4) != 0) { return allowSign_; } else { return AllowSignDefaultValue; } }
set {
_hasBits0 |= 4;
allowSign_ = value;
}
}
/// Gets whether the "allow_sign" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasAllowSign {
get { return (_hasBits0 & 4) != 0; }
}
/// Clears the value of the "allow_sign" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearAllowSign() {
_hasBits0 &= ~4;
}
/// Field number for the "allow_signature_verify" field.
public const int AllowSignatureVerifyFieldNumber = 4;
private readonly static bool AllowSignatureVerifyDefaultValue = false;
private bool allowSignatureVerify_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool AllowSignatureVerify {
get { if ((_hasBits0 & 8) != 0) { return allowSignatureVerify_; } else { return AllowSignatureVerifyDefaultValue; } }
set {
_hasBits0 |= 8;
allowSignatureVerify_ = value;
}
}
/// Gets whether the "allow_signature_verify" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasAllowSignatureVerify {
get { return (_hasBits0 & 8) != 0; }
}
/// Clears the value of the "allow_signature_verify" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearAllowSignatureVerify() {
_hasBits0 &= ~8;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as OperatorSessionKeyPermissions);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(OperatorSessionKeyPermissions other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (AllowEncrypt != other.AllowEncrypt) return false;
if (AllowDecrypt != other.AllowDecrypt) return false;
if (AllowSign != other.AllowSign) return false;
if (AllowSignatureVerify != other.AllowSignatureVerify) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (HasAllowEncrypt) hash ^= AllowEncrypt.GetHashCode();
if (HasAllowDecrypt) hash ^= AllowDecrypt.GetHashCode();
if (HasAllowSign) hash ^= AllowSign.GetHashCode();
if (HasAllowSignatureVerify) hash ^= AllowSignatureVerify.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (HasAllowEncrypt) {
output.WriteRawTag(8);
output.WriteBool(AllowEncrypt);
}
if (HasAllowDecrypt) {
output.WriteRawTag(16);
output.WriteBool(AllowDecrypt);
}
if (HasAllowSign) {
output.WriteRawTag(24);
output.WriteBool(AllowSign);
}
if (HasAllowSignatureVerify) {
output.WriteRawTag(32);
output.WriteBool(AllowSignatureVerify);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (HasAllowEncrypt) {
output.WriteRawTag(8);
output.WriteBool(AllowEncrypt);
}
if (HasAllowDecrypt) {
output.WriteRawTag(16);
output.WriteBool(AllowDecrypt);
}
if (HasAllowSign) {
output.WriteRawTag(24);
output.WriteBool(AllowSign);
}
if (HasAllowSignatureVerify) {
output.WriteRawTag(32);
output.WriteBool(AllowSignatureVerify);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (HasAllowEncrypt) {
size += 1 + 1;
}
if (HasAllowDecrypt) {
size += 1 + 1;
}
if (HasAllowSign) {
size += 1 + 1;
}
if (HasAllowSignatureVerify) {
size += 1 + 1;
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(OperatorSessionKeyPermissions other) {
if (other == null) {
return;
}
if (other.HasAllowEncrypt) {
AllowEncrypt = other.AllowEncrypt;
}
if (other.HasAllowDecrypt) {
AllowDecrypt = other.AllowDecrypt;
}
if (other.HasAllowSign) {
AllowSign = other.AllowSign;
}
if (other.HasAllowSignatureVerify) {
AllowSignatureVerify = other.AllowSignatureVerify;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
AllowEncrypt = input.ReadBool();
break;
}
case 16: {
AllowDecrypt = input.ReadBool();
break;
}
case 24: {
AllowSign = input.ReadBool();
break;
}
case 32: {
AllowSignatureVerify = input.ReadBool();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 8: {
AllowEncrypt = input.ReadBool();
break;
}
case 16: {
AllowDecrypt = input.ReadBool();
break;
}
case 24: {
AllowSign = input.ReadBool();
break;
}
case 32: {
AllowSignatureVerify = input.ReadBool();
break;
}
}
}
}
#endif
}
}
#endregion
}
}
#endregion
}
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class LicenseRequest : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new LicenseRequest());
private pb::UnknownFieldSet _unknownFields;
private int _hasBits0;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.LicenseProtocolReflection.Descriptor.MessageTypes[2]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public LicenseRequest() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public LicenseRequest(LicenseRequest other) : this() {
_hasBits0 = other._hasBits0;
clientId_ = other.clientId_ != null ? other.clientId_.Clone() : null;
contentId_ = other.contentId_ != null ? other.contentId_.Clone() : null;
type_ = other.type_;
requestTime_ = other.requestTime_;
keyControlNonceDeprecated_ = other.keyControlNonceDeprecated_;
protocolVersion_ = other.protocolVersion_;
keyControlNonce_ = other.keyControlNonce_;
encryptedClientId_ = other.encryptedClientId_ != null ? other.encryptedClientId_.Clone() : null;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public LicenseRequest Clone() {
return new LicenseRequest(this);
}
/// Field number for the "client_id" field.
public const int ClientIdFieldNumber = 1;
private global::AudibleUtilities.Widevine.ClientIdentification clientId_;
///
/// The client_id provides information authenticating the calling device. It
/// contains the Widevine keybox token that was installed on the device at the
/// factory. This field or encrypted_client_id below is required for a valid
/// license request, but both should never be present in the same request.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.ClientIdentification ClientId {
get { return clientId_; }
set {
clientId_ = value;
}
}
/// Field number for the "content_id" field.
public const int ContentIdFieldNumber = 2;
private global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification contentId_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification ContentId {
get { return contentId_; }
set {
contentId_ = value;
}
}
/// Field number for the "type" field.
public const int TypeFieldNumber = 3;
private readonly static global::AudibleUtilities.Widevine.LicenseRequest.Types.RequestType TypeDefaultValue = global::AudibleUtilities.Widevine.LicenseRequest.Types.RequestType.New;
private global::AudibleUtilities.Widevine.LicenseRequest.Types.RequestType type_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.LicenseRequest.Types.RequestType Type {
get { if ((_hasBits0 & 1) != 0) { return type_; } else { return TypeDefaultValue; } }
set {
_hasBits0 |= 1;
type_ = value;
}
}
/// Gets whether the "type" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasType {
get { return (_hasBits0 & 1) != 0; }
}
/// Clears the value of the "type" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearType() {
_hasBits0 &= ~1;
}
/// Field number for the "request_time" field.
public const int RequestTimeFieldNumber = 4;
private readonly static long RequestTimeDefaultValue = 0L;
private long requestTime_;
///
/// Time of the request in seconds (UTC) as set by the client.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public long RequestTime {
get { if ((_hasBits0 & 2) != 0) { return requestTime_; } else { return RequestTimeDefaultValue; } }
set {
_hasBits0 |= 2;
requestTime_ = value;
}
}
/// Gets whether the "request_time" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasRequestTime {
get { return (_hasBits0 & 2) != 0; }
}
/// Clears the value of the "request_time" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearRequestTime() {
_hasBits0 &= ~2;
}
/// Field number for the "key_control_nonce_deprecated" field.
public const int KeyControlNonceDeprecatedFieldNumber = 5;
private readonly static pb::ByteString KeyControlNonceDeprecatedDefaultValue = pb::ByteString.Empty;
private pb::ByteString keyControlNonceDeprecated_;
///
/// Old-style decimal-encoded string key control nonce.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString KeyControlNonceDeprecated {
get { return keyControlNonceDeprecated_ ?? KeyControlNonceDeprecatedDefaultValue; }
set {
keyControlNonceDeprecated_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "key_control_nonce_deprecated" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasKeyControlNonceDeprecated {
get { return keyControlNonceDeprecated_ != null; }
}
/// Clears the value of the "key_control_nonce_deprecated" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearKeyControlNonceDeprecated() {
keyControlNonceDeprecated_ = null;
}
/// Field number for the "protocol_version" field.
public const int ProtocolVersionFieldNumber = 6;
private readonly static global::AudibleUtilities.Widevine.ProtocolVersion ProtocolVersionDefaultValue = global::AudibleUtilities.Widevine.ProtocolVersion.Version20;
private global::AudibleUtilities.Widevine.ProtocolVersion protocolVersion_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.ProtocolVersion ProtocolVersion {
get { if ((_hasBits0 & 4) != 0) { return protocolVersion_; } else { return ProtocolVersionDefaultValue; } }
set {
_hasBits0 |= 4;
protocolVersion_ = value;
}
}
/// Gets whether the "protocol_version" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasProtocolVersion {
get { return (_hasBits0 & 4) != 0; }
}
/// Clears the value of the "protocol_version" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearProtocolVersion() {
_hasBits0 &= ~4;
}
/// Field number for the "key_control_nonce" field.
public const int KeyControlNonceFieldNumber = 7;
private readonly static uint KeyControlNonceDefaultValue = 0;
private uint keyControlNonce_;
///
/// New-style uint32 key control nonce, please use instead of
/// key_control_nonce_deprecated.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public uint KeyControlNonce {
get { if ((_hasBits0 & 8) != 0) { return keyControlNonce_; } else { return KeyControlNonceDefaultValue; } }
set {
_hasBits0 |= 8;
keyControlNonce_ = value;
}
}
/// Gets whether the "key_control_nonce" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasKeyControlNonce {
get { return (_hasBits0 & 8) != 0; }
}
/// Clears the value of the "key_control_nonce" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearKeyControlNonce() {
_hasBits0 &= ~8;
}
/// Field number for the "encrypted_client_id" field.
public const int EncryptedClientIdFieldNumber = 8;
private global::AudibleUtilities.Widevine.EncryptedClientIdentification encryptedClientId_;
///
/// Encrypted ClientIdentification message, used for privacy purposes.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.EncryptedClientIdentification EncryptedClientId {
get { return encryptedClientId_; }
set {
encryptedClientId_ = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as LicenseRequest);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(LicenseRequest other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (!object.Equals(ClientId, other.ClientId)) return false;
if (!object.Equals(ContentId, other.ContentId)) return false;
if (Type != other.Type) return false;
if (RequestTime != other.RequestTime) return false;
if (KeyControlNonceDeprecated != other.KeyControlNonceDeprecated) return false;
if (ProtocolVersion != other.ProtocolVersion) return false;
if (KeyControlNonce != other.KeyControlNonce) return false;
if (!object.Equals(EncryptedClientId, other.EncryptedClientId)) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (clientId_ != null) hash ^= ClientId.GetHashCode();
if (contentId_ != null) hash ^= ContentId.GetHashCode();
if (HasType) hash ^= Type.GetHashCode();
if (HasRequestTime) hash ^= RequestTime.GetHashCode();
if (HasKeyControlNonceDeprecated) hash ^= KeyControlNonceDeprecated.GetHashCode();
if (HasProtocolVersion) hash ^= ProtocolVersion.GetHashCode();
if (HasKeyControlNonce) hash ^= KeyControlNonce.GetHashCode();
if (encryptedClientId_ != null) hash ^= EncryptedClientId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (clientId_ != null) {
output.WriteRawTag(10);
output.WriteMessage(ClientId);
}
if (contentId_ != null) {
output.WriteRawTag(18);
output.WriteMessage(ContentId);
}
if (HasType) {
output.WriteRawTag(24);
output.WriteEnum((int) Type);
}
if (HasRequestTime) {
output.WriteRawTag(32);
output.WriteInt64(RequestTime);
}
if (HasKeyControlNonceDeprecated) {
output.WriteRawTag(42);
output.WriteBytes(KeyControlNonceDeprecated);
}
if (HasProtocolVersion) {
output.WriteRawTag(48);
output.WriteEnum((int) ProtocolVersion);
}
if (HasKeyControlNonce) {
output.WriteRawTag(56);
output.WriteUInt32(KeyControlNonce);
}
if (encryptedClientId_ != null) {
output.WriteRawTag(66);
output.WriteMessage(EncryptedClientId);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (clientId_ != null) {
output.WriteRawTag(10);
output.WriteMessage(ClientId);
}
if (contentId_ != null) {
output.WriteRawTag(18);
output.WriteMessage(ContentId);
}
if (HasType) {
output.WriteRawTag(24);
output.WriteEnum((int) Type);
}
if (HasRequestTime) {
output.WriteRawTag(32);
output.WriteInt64(RequestTime);
}
if (HasKeyControlNonceDeprecated) {
output.WriteRawTag(42);
output.WriteBytes(KeyControlNonceDeprecated);
}
if (HasProtocolVersion) {
output.WriteRawTag(48);
output.WriteEnum((int) ProtocolVersion);
}
if (HasKeyControlNonce) {
output.WriteRawTag(56);
output.WriteUInt32(KeyControlNonce);
}
if (encryptedClientId_ != null) {
output.WriteRawTag(66);
output.WriteMessage(EncryptedClientId);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (clientId_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(ClientId);
}
if (contentId_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(ContentId);
}
if (HasType) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
}
if (HasRequestTime) {
size += 1 + pb::CodedOutputStream.ComputeInt64Size(RequestTime);
}
if (HasKeyControlNonceDeprecated) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(KeyControlNonceDeprecated);
}
if (HasProtocolVersion) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ProtocolVersion);
}
if (HasKeyControlNonce) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(KeyControlNonce);
}
if (encryptedClientId_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(EncryptedClientId);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(LicenseRequest other) {
if (other == null) {
return;
}
if (other.clientId_ != null) {
if (clientId_ == null) {
ClientId = new global::AudibleUtilities.Widevine.ClientIdentification();
}
ClientId.MergeFrom(other.ClientId);
}
if (other.contentId_ != null) {
if (contentId_ == null) {
ContentId = new global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification();
}
ContentId.MergeFrom(other.ContentId);
}
if (other.HasType) {
Type = other.Type;
}
if (other.HasRequestTime) {
RequestTime = other.RequestTime;
}
if (other.HasKeyControlNonceDeprecated) {
KeyControlNonceDeprecated = other.KeyControlNonceDeprecated;
}
if (other.HasProtocolVersion) {
ProtocolVersion = other.ProtocolVersion;
}
if (other.HasKeyControlNonce) {
KeyControlNonce = other.KeyControlNonce;
}
if (other.encryptedClientId_ != null) {
if (encryptedClientId_ == null) {
EncryptedClientId = new global::AudibleUtilities.Widevine.EncryptedClientIdentification();
}
EncryptedClientId.MergeFrom(other.EncryptedClientId);
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
if (clientId_ == null) {
ClientId = new global::AudibleUtilities.Widevine.ClientIdentification();
}
input.ReadMessage(ClientId);
break;
}
case 18: {
if (contentId_ == null) {
ContentId = new global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification();
}
input.ReadMessage(ContentId);
break;
}
case 24: {
Type = (global::AudibleUtilities.Widevine.LicenseRequest.Types.RequestType) input.ReadEnum();
break;
}
case 32: {
RequestTime = input.ReadInt64();
break;
}
case 42: {
KeyControlNonceDeprecated = input.ReadBytes();
break;
}
case 48: {
ProtocolVersion = (global::AudibleUtilities.Widevine.ProtocolVersion) input.ReadEnum();
break;
}
case 56: {
KeyControlNonce = input.ReadUInt32();
break;
}
case 66: {
if (encryptedClientId_ == null) {
EncryptedClientId = new global::AudibleUtilities.Widevine.EncryptedClientIdentification();
}
input.ReadMessage(EncryptedClientId);
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 10: {
if (clientId_ == null) {
ClientId = new global::AudibleUtilities.Widevine.ClientIdentification();
}
input.ReadMessage(ClientId);
break;
}
case 18: {
if (contentId_ == null) {
ContentId = new global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification();
}
input.ReadMessage(ContentId);
break;
}
case 24: {
Type = (global::AudibleUtilities.Widevine.LicenseRequest.Types.RequestType) input.ReadEnum();
break;
}
case 32: {
RequestTime = input.ReadInt64();
break;
}
case 42: {
KeyControlNonceDeprecated = input.ReadBytes();
break;
}
case 48: {
ProtocolVersion = (global::AudibleUtilities.Widevine.ProtocolVersion) input.ReadEnum();
break;
}
case 56: {
KeyControlNonce = input.ReadUInt32();
break;
}
case 66: {
if (encryptedClientId_ == null) {
EncryptedClientId = new global::AudibleUtilities.Widevine.EncryptedClientIdentification();
}
input.ReadMessage(EncryptedClientId);
break;
}
}
}
}
#endif
#region Nested types
/// Container for nested types declared in the LicenseRequest message type.
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static partial class Types {
internal enum RequestType {
[pbr::OriginalName("NEW")] New = 1,
[pbr::OriginalName("RENEWAL")] Renewal = 2,
[pbr::OriginalName("RELEASE")] Release = 3,
}
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class ContentIdentification : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ContentIdentification());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.LicenseRequest.Descriptor.NestedTypes[0]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public ContentIdentification() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public ContentIdentification(ContentIdentification other) : this() {
switch (other.ContentIdVariantCase) {
case ContentIdVariantOneofCase.WidevinePsshData:
WidevinePsshData = other.WidevinePsshData.Clone();
break;
case ContentIdVariantOneofCase.WebmKeyId:
WebmKeyId = other.WebmKeyId.Clone();
break;
case ContentIdVariantOneofCase.ExistingLicense:
ExistingLicense = other.ExistingLicense.Clone();
break;
case ContentIdVariantOneofCase.InitData:
InitData = other.InitData.Clone();
break;
}
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public ContentIdentification Clone() {
return new ContentIdentification(this);
}
/// Field number for the "widevine_pssh_data" field.
public const int WidevinePsshDataFieldNumber = 1;
///
/// Exactly one of these must be present.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.WidevinePsshData WidevinePsshData {
get { return contentIdVariantCase_ == ContentIdVariantOneofCase.WidevinePsshData ? (global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.WidevinePsshData) contentIdVariant_ : null; }
set {
contentIdVariant_ = value;
contentIdVariantCase_ = value == null ? ContentIdVariantOneofCase.None : ContentIdVariantOneofCase.WidevinePsshData;
}
}
/// Field number for the "webm_key_id" field.
public const int WebmKeyIdFieldNumber = 2;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.WebmKeyId WebmKeyId {
get { return contentIdVariantCase_ == ContentIdVariantOneofCase.WebmKeyId ? (global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.WebmKeyId) contentIdVariant_ : null; }
set {
contentIdVariant_ = value;
contentIdVariantCase_ = value == null ? ContentIdVariantOneofCase.None : ContentIdVariantOneofCase.WebmKeyId;
}
}
/// Field number for the "existing_license" field.
public const int ExistingLicenseFieldNumber = 3;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.ExistingLicense ExistingLicense {
get { return contentIdVariantCase_ == ContentIdVariantOneofCase.ExistingLicense ? (global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.ExistingLicense) contentIdVariant_ : null; }
set {
contentIdVariant_ = value;
contentIdVariantCase_ = value == null ? ContentIdVariantOneofCase.None : ContentIdVariantOneofCase.ExistingLicense;
}
}
/// Field number for the "init_data" field.
public const int InitDataFieldNumber = 4;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.InitData InitData {
get { return contentIdVariantCase_ == ContentIdVariantOneofCase.InitData ? (global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.InitData) contentIdVariant_ : null; }
set {
contentIdVariant_ = value;
contentIdVariantCase_ = value == null ? ContentIdVariantOneofCase.None : ContentIdVariantOneofCase.InitData;
}
}
private object contentIdVariant_;
/// Enum of possible cases for the "content_id_variant" oneof.
public enum ContentIdVariantOneofCase {
None = 0,
WidevinePsshData = 1,
WebmKeyId = 2,
ExistingLicense = 3,
InitData = 4,
}
private ContentIdVariantOneofCase contentIdVariantCase_ = ContentIdVariantOneofCase.None;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public ContentIdVariantOneofCase ContentIdVariantCase {
get { return contentIdVariantCase_; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearContentIdVariant() {
contentIdVariantCase_ = ContentIdVariantOneofCase.None;
contentIdVariant_ = null;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as ContentIdentification);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(ContentIdentification other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (!object.Equals(WidevinePsshData, other.WidevinePsshData)) return false;
if (!object.Equals(WebmKeyId, other.WebmKeyId)) return false;
if (!object.Equals(ExistingLicense, other.ExistingLicense)) return false;
if (!object.Equals(InitData, other.InitData)) return false;
if (ContentIdVariantCase != other.ContentIdVariantCase) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (contentIdVariantCase_ == ContentIdVariantOneofCase.WidevinePsshData) hash ^= WidevinePsshData.GetHashCode();
if (contentIdVariantCase_ == ContentIdVariantOneofCase.WebmKeyId) hash ^= WebmKeyId.GetHashCode();
if (contentIdVariantCase_ == ContentIdVariantOneofCase.ExistingLicense) hash ^= ExistingLicense.GetHashCode();
if (contentIdVariantCase_ == ContentIdVariantOneofCase.InitData) hash ^= InitData.GetHashCode();
hash ^= (int) contentIdVariantCase_;
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (contentIdVariantCase_ == ContentIdVariantOneofCase.WidevinePsshData) {
output.WriteRawTag(10);
output.WriteMessage(WidevinePsshData);
}
if (contentIdVariantCase_ == ContentIdVariantOneofCase.WebmKeyId) {
output.WriteRawTag(18);
output.WriteMessage(WebmKeyId);
}
if (contentIdVariantCase_ == ContentIdVariantOneofCase.ExistingLicense) {
output.WriteRawTag(26);
output.WriteMessage(ExistingLicense);
}
if (contentIdVariantCase_ == ContentIdVariantOneofCase.InitData) {
output.WriteRawTag(34);
output.WriteMessage(InitData);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (contentIdVariantCase_ == ContentIdVariantOneofCase.WidevinePsshData) {
output.WriteRawTag(10);
output.WriteMessage(WidevinePsshData);
}
if (contentIdVariantCase_ == ContentIdVariantOneofCase.WebmKeyId) {
output.WriteRawTag(18);
output.WriteMessage(WebmKeyId);
}
if (contentIdVariantCase_ == ContentIdVariantOneofCase.ExistingLicense) {
output.WriteRawTag(26);
output.WriteMessage(ExistingLicense);
}
if (contentIdVariantCase_ == ContentIdVariantOneofCase.InitData) {
output.WriteRawTag(34);
output.WriteMessage(InitData);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (contentIdVariantCase_ == ContentIdVariantOneofCase.WidevinePsshData) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(WidevinePsshData);
}
if (contentIdVariantCase_ == ContentIdVariantOneofCase.WebmKeyId) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(WebmKeyId);
}
if (contentIdVariantCase_ == ContentIdVariantOneofCase.ExistingLicense) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(ExistingLicense);
}
if (contentIdVariantCase_ == ContentIdVariantOneofCase.InitData) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(InitData);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(ContentIdentification other) {
if (other == null) {
return;
}
switch (other.ContentIdVariantCase) {
case ContentIdVariantOneofCase.WidevinePsshData:
if (WidevinePsshData == null) {
WidevinePsshData = new global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.WidevinePsshData();
}
WidevinePsshData.MergeFrom(other.WidevinePsshData);
break;
case ContentIdVariantOneofCase.WebmKeyId:
if (WebmKeyId == null) {
WebmKeyId = new global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.WebmKeyId();
}
WebmKeyId.MergeFrom(other.WebmKeyId);
break;
case ContentIdVariantOneofCase.ExistingLicense:
if (ExistingLicense == null) {
ExistingLicense = new global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.ExistingLicense();
}
ExistingLicense.MergeFrom(other.ExistingLicense);
break;
case ContentIdVariantOneofCase.InitData:
if (InitData == null) {
InitData = new global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.InitData();
}
InitData.MergeFrom(other.InitData);
break;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.WidevinePsshData subBuilder = new global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.WidevinePsshData();
if (contentIdVariantCase_ == ContentIdVariantOneofCase.WidevinePsshData) {
subBuilder.MergeFrom(WidevinePsshData);
}
input.ReadMessage(subBuilder);
WidevinePsshData = subBuilder;
break;
}
case 18: {
global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.WebmKeyId subBuilder = new global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.WebmKeyId();
if (contentIdVariantCase_ == ContentIdVariantOneofCase.WebmKeyId) {
subBuilder.MergeFrom(WebmKeyId);
}
input.ReadMessage(subBuilder);
WebmKeyId = subBuilder;
break;
}
case 26: {
global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.ExistingLicense subBuilder = new global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.ExistingLicense();
if (contentIdVariantCase_ == ContentIdVariantOneofCase.ExistingLicense) {
subBuilder.MergeFrom(ExistingLicense);
}
input.ReadMessage(subBuilder);
ExistingLicense = subBuilder;
break;
}
case 34: {
global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.InitData subBuilder = new global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.InitData();
if (contentIdVariantCase_ == ContentIdVariantOneofCase.InitData) {
subBuilder.MergeFrom(InitData);
}
input.ReadMessage(subBuilder);
InitData = subBuilder;
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 10: {
global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.WidevinePsshData subBuilder = new global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.WidevinePsshData();
if (contentIdVariantCase_ == ContentIdVariantOneofCase.WidevinePsshData) {
subBuilder.MergeFrom(WidevinePsshData);
}
input.ReadMessage(subBuilder);
WidevinePsshData = subBuilder;
break;
}
case 18: {
global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.WebmKeyId subBuilder = new global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.WebmKeyId();
if (contentIdVariantCase_ == ContentIdVariantOneofCase.WebmKeyId) {
subBuilder.MergeFrom(WebmKeyId);
}
input.ReadMessage(subBuilder);
WebmKeyId = subBuilder;
break;
}
case 26: {
global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.ExistingLicense subBuilder = new global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.ExistingLicense();
if (contentIdVariantCase_ == ContentIdVariantOneofCase.ExistingLicense) {
subBuilder.MergeFrom(ExistingLicense);
}
input.ReadMessage(subBuilder);
ExistingLicense = subBuilder;
break;
}
case 34: {
global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.InitData subBuilder = new global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.InitData();
if (contentIdVariantCase_ == ContentIdVariantOneofCase.InitData) {
subBuilder.MergeFrom(InitData);
}
input.ReadMessage(subBuilder);
InitData = subBuilder;
break;
}
}
}
}
#endif
#region Nested types
/// Container for nested types declared in the ContentIdentification message type.
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static partial class Types {
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class WidevinePsshData : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new WidevinePsshData());
private pb::UnknownFieldSet _unknownFields;
private int _hasBits0;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Descriptor.NestedTypes[0]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public WidevinePsshData() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public WidevinePsshData(WidevinePsshData other) : this() {
_hasBits0 = other._hasBits0;
psshData_ = other.psshData_.Clone();
licenseType_ = other.licenseType_;
requestId_ = other.requestId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public WidevinePsshData Clone() {
return new WidevinePsshData(this);
}
/// Field number for the "pssh_data" field.
public const int PsshDataFieldNumber = 1;
private static readonly pb::FieldCodec _repeated_psshData_codec
= pb::FieldCodec.ForBytes(10);
private readonly pbc::RepeatedField psshData_ = new pbc::RepeatedField();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pbc::RepeatedField PsshData {
get { return psshData_; }
}
/// Field number for the "license_type" field.
public const int LicenseTypeFieldNumber = 2;
private readonly static global::AudibleUtilities.Widevine.LicenseType LicenseTypeDefaultValue = global::AudibleUtilities.Widevine.LicenseType.Streaming;
private global::AudibleUtilities.Widevine.LicenseType licenseType_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.LicenseType LicenseType {
get { if ((_hasBits0 & 1) != 0) { return licenseType_; } else { return LicenseTypeDefaultValue; } }
set {
_hasBits0 |= 1;
licenseType_ = value;
}
}
/// Gets whether the "license_type" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasLicenseType {
get { return (_hasBits0 & 1) != 0; }
}
/// Clears the value of the "license_type" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearLicenseType() {
_hasBits0 &= ~1;
}
/// Field number for the "request_id" field.
public const int RequestIdFieldNumber = 3;
private readonly static pb::ByteString RequestIdDefaultValue = pb::ByteString.Empty;
private pb::ByteString requestId_;
///
/// Opaque, client-specified.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString RequestId {
get { return requestId_ ?? RequestIdDefaultValue; }
set {
requestId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "request_id" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasRequestId {
get { return requestId_ != null; }
}
/// Clears the value of the "request_id" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearRequestId() {
requestId_ = null;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as WidevinePsshData);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(WidevinePsshData other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if(!psshData_.Equals(other.psshData_)) return false;
if (LicenseType != other.LicenseType) return false;
if (RequestId != other.RequestId) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
hash ^= psshData_.GetHashCode();
if (HasLicenseType) hash ^= LicenseType.GetHashCode();
if (HasRequestId) hash ^= RequestId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
psshData_.WriteTo(output, _repeated_psshData_codec);
if (HasLicenseType) {
output.WriteRawTag(16);
output.WriteEnum((int) LicenseType);
}
if (HasRequestId) {
output.WriteRawTag(26);
output.WriteBytes(RequestId);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
psshData_.WriteTo(ref output, _repeated_psshData_codec);
if (HasLicenseType) {
output.WriteRawTag(16);
output.WriteEnum((int) LicenseType);
}
if (HasRequestId) {
output.WriteRawTag(26);
output.WriteBytes(RequestId);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
size += psshData_.CalculateSize(_repeated_psshData_codec);
if (HasLicenseType) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LicenseType);
}
if (HasRequestId) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(RequestId);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(WidevinePsshData other) {
if (other == null) {
return;
}
psshData_.Add(other.psshData_);
if (other.HasLicenseType) {
LicenseType = other.LicenseType;
}
if (other.HasRequestId) {
RequestId = other.RequestId;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
psshData_.AddEntriesFrom(input, _repeated_psshData_codec);
break;
}
case 16: {
LicenseType = (global::AudibleUtilities.Widevine.LicenseType) input.ReadEnum();
break;
}
case 26: {
RequestId = input.ReadBytes();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 10: {
psshData_.AddEntriesFrom(ref input, _repeated_psshData_codec);
break;
}
case 16: {
LicenseType = (global::AudibleUtilities.Widevine.LicenseType) input.ReadEnum();
break;
}
case 26: {
RequestId = input.ReadBytes();
break;
}
}
}
}
#endif
}
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class WebmKeyId : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new WebmKeyId());
private pb::UnknownFieldSet _unknownFields;
private int _hasBits0;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Descriptor.NestedTypes[1]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public WebmKeyId() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public WebmKeyId(WebmKeyId other) : this() {
_hasBits0 = other._hasBits0;
header_ = other.header_;
licenseType_ = other.licenseType_;
requestId_ = other.requestId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public WebmKeyId Clone() {
return new WebmKeyId(this);
}
/// Field number for the "header" field.
public const int HeaderFieldNumber = 1;
private readonly static pb::ByteString HeaderDefaultValue = pb::ByteString.Empty;
private pb::ByteString header_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString Header {
get { return header_ ?? HeaderDefaultValue; }
set {
header_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "header" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasHeader {
get { return header_ != null; }
}
/// Clears the value of the "header" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearHeader() {
header_ = null;
}
/// Field number for the "license_type" field.
public const int LicenseTypeFieldNumber = 2;
private readonly static global::AudibleUtilities.Widevine.LicenseType LicenseTypeDefaultValue = global::AudibleUtilities.Widevine.LicenseType.Streaming;
private global::AudibleUtilities.Widevine.LicenseType licenseType_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.LicenseType LicenseType {
get { if ((_hasBits0 & 1) != 0) { return licenseType_; } else { return LicenseTypeDefaultValue; } }
set {
_hasBits0 |= 1;
licenseType_ = value;
}
}
/// Gets whether the "license_type" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasLicenseType {
get { return (_hasBits0 & 1) != 0; }
}
/// Clears the value of the "license_type" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearLicenseType() {
_hasBits0 &= ~1;
}
/// Field number for the "request_id" field.
public const int RequestIdFieldNumber = 3;
private readonly static pb::ByteString RequestIdDefaultValue = pb::ByteString.Empty;
private pb::ByteString requestId_;
///
/// Opaque, client-specified.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString RequestId {
get { return requestId_ ?? RequestIdDefaultValue; }
set {
requestId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "request_id" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasRequestId {
get { return requestId_ != null; }
}
/// Clears the value of the "request_id" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearRequestId() {
requestId_ = null;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as WebmKeyId);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(WebmKeyId other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (Header != other.Header) return false;
if (LicenseType != other.LicenseType) return false;
if (RequestId != other.RequestId) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (HasHeader) hash ^= Header.GetHashCode();
if (HasLicenseType) hash ^= LicenseType.GetHashCode();
if (HasRequestId) hash ^= RequestId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (HasHeader) {
output.WriteRawTag(10);
output.WriteBytes(Header);
}
if (HasLicenseType) {
output.WriteRawTag(16);
output.WriteEnum((int) LicenseType);
}
if (HasRequestId) {
output.WriteRawTag(26);
output.WriteBytes(RequestId);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (HasHeader) {
output.WriteRawTag(10);
output.WriteBytes(Header);
}
if (HasLicenseType) {
output.WriteRawTag(16);
output.WriteEnum((int) LicenseType);
}
if (HasRequestId) {
output.WriteRawTag(26);
output.WriteBytes(RequestId);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (HasHeader) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(Header);
}
if (HasLicenseType) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LicenseType);
}
if (HasRequestId) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(RequestId);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(WebmKeyId other) {
if (other == null) {
return;
}
if (other.HasHeader) {
Header = other.Header;
}
if (other.HasLicenseType) {
LicenseType = other.LicenseType;
}
if (other.HasRequestId) {
RequestId = other.RequestId;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
Header = input.ReadBytes();
break;
}
case 16: {
LicenseType = (global::AudibleUtilities.Widevine.LicenseType) input.ReadEnum();
break;
}
case 26: {
RequestId = input.ReadBytes();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 10: {
Header = input.ReadBytes();
break;
}
case 16: {
LicenseType = (global::AudibleUtilities.Widevine.LicenseType) input.ReadEnum();
break;
}
case 26: {
RequestId = input.ReadBytes();
break;
}
}
}
}
#endif
}
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class ExistingLicense : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ExistingLicense());
private pb::UnknownFieldSet _unknownFields;
private int _hasBits0;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Descriptor.NestedTypes[2]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public ExistingLicense() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public ExistingLicense(ExistingLicense other) : this() {
_hasBits0 = other._hasBits0;
licenseId_ = other.licenseId_ != null ? other.licenseId_.Clone() : null;
secondsSinceStarted_ = other.secondsSinceStarted_;
secondsSinceLastPlayed_ = other.secondsSinceLastPlayed_;
sessionUsageTableEntry_ = other.sessionUsageTableEntry_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public ExistingLicense Clone() {
return new ExistingLicense(this);
}
/// Field number for the "license_id" field.
public const int LicenseIdFieldNumber = 1;
private global::AudibleUtilities.Widevine.LicenseIdentification licenseId_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.LicenseIdentification LicenseId {
get { return licenseId_; }
set {
licenseId_ = value;
}
}
/// Field number for the "seconds_since_started" field.
public const int SecondsSinceStartedFieldNumber = 2;
private readonly static long SecondsSinceStartedDefaultValue = 0L;
private long secondsSinceStarted_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public long SecondsSinceStarted {
get { if ((_hasBits0 & 1) != 0) { return secondsSinceStarted_; } else { return SecondsSinceStartedDefaultValue; } }
set {
_hasBits0 |= 1;
secondsSinceStarted_ = value;
}
}
/// Gets whether the "seconds_since_started" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasSecondsSinceStarted {
get { return (_hasBits0 & 1) != 0; }
}
/// Clears the value of the "seconds_since_started" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearSecondsSinceStarted() {
_hasBits0 &= ~1;
}
/// Field number for the "seconds_since_last_played" field.
public const int SecondsSinceLastPlayedFieldNumber = 3;
private readonly static long SecondsSinceLastPlayedDefaultValue = 0L;
private long secondsSinceLastPlayed_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public long SecondsSinceLastPlayed {
get { if ((_hasBits0 & 2) != 0) { return secondsSinceLastPlayed_; } else { return SecondsSinceLastPlayedDefaultValue; } }
set {
_hasBits0 |= 2;
secondsSinceLastPlayed_ = value;
}
}
/// Gets whether the "seconds_since_last_played" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasSecondsSinceLastPlayed {
get { return (_hasBits0 & 2) != 0; }
}
/// Clears the value of the "seconds_since_last_played" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearSecondsSinceLastPlayed() {
_hasBits0 &= ~2;
}
/// Field number for the "session_usage_table_entry" field.
public const int SessionUsageTableEntryFieldNumber = 4;
private readonly static pb::ByteString SessionUsageTableEntryDefaultValue = pb::ByteString.Empty;
private pb::ByteString sessionUsageTableEntry_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString SessionUsageTableEntry {
get { return sessionUsageTableEntry_ ?? SessionUsageTableEntryDefaultValue; }
set {
sessionUsageTableEntry_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "session_usage_table_entry" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasSessionUsageTableEntry {
get { return sessionUsageTableEntry_ != null; }
}
/// Clears the value of the "session_usage_table_entry" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearSessionUsageTableEntry() {
sessionUsageTableEntry_ = null;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as ExistingLicense);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(ExistingLicense other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (!object.Equals(LicenseId, other.LicenseId)) return false;
if (SecondsSinceStarted != other.SecondsSinceStarted) return false;
if (SecondsSinceLastPlayed != other.SecondsSinceLastPlayed) return false;
if (SessionUsageTableEntry != other.SessionUsageTableEntry) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (licenseId_ != null) hash ^= LicenseId.GetHashCode();
if (HasSecondsSinceStarted) hash ^= SecondsSinceStarted.GetHashCode();
if (HasSecondsSinceLastPlayed) hash ^= SecondsSinceLastPlayed.GetHashCode();
if (HasSessionUsageTableEntry) hash ^= SessionUsageTableEntry.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (licenseId_ != null) {
output.WriteRawTag(10);
output.WriteMessage(LicenseId);
}
if (HasSecondsSinceStarted) {
output.WriteRawTag(16);
output.WriteInt64(SecondsSinceStarted);
}
if (HasSecondsSinceLastPlayed) {
output.WriteRawTag(24);
output.WriteInt64(SecondsSinceLastPlayed);
}
if (HasSessionUsageTableEntry) {
output.WriteRawTag(34);
output.WriteBytes(SessionUsageTableEntry);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (licenseId_ != null) {
output.WriteRawTag(10);
output.WriteMessage(LicenseId);
}
if (HasSecondsSinceStarted) {
output.WriteRawTag(16);
output.WriteInt64(SecondsSinceStarted);
}
if (HasSecondsSinceLastPlayed) {
output.WriteRawTag(24);
output.WriteInt64(SecondsSinceLastPlayed);
}
if (HasSessionUsageTableEntry) {
output.WriteRawTag(34);
output.WriteBytes(SessionUsageTableEntry);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (licenseId_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(LicenseId);
}
if (HasSecondsSinceStarted) {
size += 1 + pb::CodedOutputStream.ComputeInt64Size(SecondsSinceStarted);
}
if (HasSecondsSinceLastPlayed) {
size += 1 + pb::CodedOutputStream.ComputeInt64Size(SecondsSinceLastPlayed);
}
if (HasSessionUsageTableEntry) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(SessionUsageTableEntry);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(ExistingLicense other) {
if (other == null) {
return;
}
if (other.licenseId_ != null) {
if (licenseId_ == null) {
LicenseId = new global::AudibleUtilities.Widevine.LicenseIdentification();
}
LicenseId.MergeFrom(other.LicenseId);
}
if (other.HasSecondsSinceStarted) {
SecondsSinceStarted = other.SecondsSinceStarted;
}
if (other.HasSecondsSinceLastPlayed) {
SecondsSinceLastPlayed = other.SecondsSinceLastPlayed;
}
if (other.HasSessionUsageTableEntry) {
SessionUsageTableEntry = other.SessionUsageTableEntry;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
if (licenseId_ == null) {
LicenseId = new global::AudibleUtilities.Widevine.LicenseIdentification();
}
input.ReadMessage(LicenseId);
break;
}
case 16: {
SecondsSinceStarted = input.ReadInt64();
break;
}
case 24: {
SecondsSinceLastPlayed = input.ReadInt64();
break;
}
case 34: {
SessionUsageTableEntry = input.ReadBytes();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 10: {
if (licenseId_ == null) {
LicenseId = new global::AudibleUtilities.Widevine.LicenseIdentification();
}
input.ReadMessage(LicenseId);
break;
}
case 16: {
SecondsSinceStarted = input.ReadInt64();
break;
}
case 24: {
SecondsSinceLastPlayed = input.ReadInt64();
break;
}
case 34: {
SessionUsageTableEntry = input.ReadBytes();
break;
}
}
}
}
#endif
}
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class InitData : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new InitData());
private pb::UnknownFieldSet _unknownFields;
private int _hasBits0;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Descriptor.NestedTypes[3]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public InitData() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public InitData(InitData other) : this() {
_hasBits0 = other._hasBits0;
initDataType_ = other.initDataType_;
initData_ = other.initData_;
licenseType_ = other.licenseType_;
requestId_ = other.requestId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public InitData Clone() {
return new InitData(this);
}
/// Field number for the "init_data_type" field.
public const int InitDataTypeFieldNumber = 1;
private readonly static global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.InitData.Types.InitDataType InitDataTypeDefaultValue = global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.InitData.Types.InitDataType.Cenc;
private global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.InitData.Types.InitDataType initDataType_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.InitData.Types.InitDataType InitDataType {
get { if ((_hasBits0 & 1) != 0) { return initDataType_; } else { return InitDataTypeDefaultValue; } }
set {
_hasBits0 |= 1;
initDataType_ = value;
}
}
/// Gets whether the "init_data_type" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasInitDataType {
get { return (_hasBits0 & 1) != 0; }
}
/// Clears the value of the "init_data_type" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearInitDataType() {
_hasBits0 &= ~1;
}
/// Field number for the "init_data" field.
public const int InitData_FieldNumber = 2;
private readonly static pb::ByteString InitData_DefaultValue = pb::ByteString.Empty;
private pb::ByteString initData_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString InitData_ {
get { return initData_ ?? InitData_DefaultValue; }
set {
initData_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "init_data" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasInitData_ {
get { return initData_ != null; }
}
/// Clears the value of the "init_data" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearInitData_() {
initData_ = null;
}
/// Field number for the "license_type" field.
public const int LicenseTypeFieldNumber = 3;
private readonly static global::AudibleUtilities.Widevine.LicenseType LicenseTypeDefaultValue = global::AudibleUtilities.Widevine.LicenseType.Streaming;
private global::AudibleUtilities.Widevine.LicenseType licenseType_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.LicenseType LicenseType {
get { if ((_hasBits0 & 2) != 0) { return licenseType_; } else { return LicenseTypeDefaultValue; } }
set {
_hasBits0 |= 2;
licenseType_ = value;
}
}
/// Gets whether the "license_type" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasLicenseType {
get { return (_hasBits0 & 2) != 0; }
}
/// Clears the value of the "license_type" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearLicenseType() {
_hasBits0 &= ~2;
}
/// Field number for the "request_id" field.
public const int RequestIdFieldNumber = 4;
private readonly static pb::ByteString RequestIdDefaultValue = pb::ByteString.Empty;
private pb::ByteString requestId_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString RequestId {
get { return requestId_ ?? RequestIdDefaultValue; }
set {
requestId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "request_id" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasRequestId {
get { return requestId_ != null; }
}
/// Clears the value of the "request_id" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearRequestId() {
requestId_ = null;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as InitData);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(InitData other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (InitDataType != other.InitDataType) return false;
if (InitData_ != other.InitData_) return false;
if (LicenseType != other.LicenseType) return false;
if (RequestId != other.RequestId) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (HasInitDataType) hash ^= InitDataType.GetHashCode();
if (HasInitData_) hash ^= InitData_.GetHashCode();
if (HasLicenseType) hash ^= LicenseType.GetHashCode();
if (HasRequestId) hash ^= RequestId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (HasInitDataType) {
output.WriteRawTag(8);
output.WriteEnum((int) InitDataType);
}
if (HasInitData_) {
output.WriteRawTag(18);
output.WriteBytes(InitData_);
}
if (HasLicenseType) {
output.WriteRawTag(24);
output.WriteEnum((int) LicenseType);
}
if (HasRequestId) {
output.WriteRawTag(34);
output.WriteBytes(RequestId);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (HasInitDataType) {
output.WriteRawTag(8);
output.WriteEnum((int) InitDataType);
}
if (HasInitData_) {
output.WriteRawTag(18);
output.WriteBytes(InitData_);
}
if (HasLicenseType) {
output.WriteRawTag(24);
output.WriteEnum((int) LicenseType);
}
if (HasRequestId) {
output.WriteRawTag(34);
output.WriteBytes(RequestId);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (HasInitDataType) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) InitDataType);
}
if (HasInitData_) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(InitData_);
}
if (HasLicenseType) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LicenseType);
}
if (HasRequestId) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(RequestId);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(InitData other) {
if (other == null) {
return;
}
if (other.HasInitDataType) {
InitDataType = other.InitDataType;
}
if (other.HasInitData_) {
InitData_ = other.InitData_;
}
if (other.HasLicenseType) {
LicenseType = other.LicenseType;
}
if (other.HasRequestId) {
RequestId = other.RequestId;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
InitDataType = (global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.InitData.Types.InitDataType) input.ReadEnum();
break;
}
case 18: {
InitData_ = input.ReadBytes();
break;
}
case 24: {
LicenseType = (global::AudibleUtilities.Widevine.LicenseType) input.ReadEnum();
break;
}
case 34: {
RequestId = input.ReadBytes();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 8: {
InitDataType = (global::AudibleUtilities.Widevine.LicenseRequest.Types.ContentIdentification.Types.InitData.Types.InitDataType) input.ReadEnum();
break;
}
case 18: {
InitData_ = input.ReadBytes();
break;
}
case 24: {
LicenseType = (global::AudibleUtilities.Widevine.LicenseType) input.ReadEnum();
break;
}
case 34: {
RequestId = input.ReadBytes();
break;
}
}
}
}
#endif
#region Nested types
/// Container for nested types declared in the InitData message type.
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static partial class Types {
internal enum InitDataType {
[pbr::OriginalName("CENC")] Cenc = 1,
[pbr::OriginalName("WEBM")] Webm = 2,
}
}
#endregion
}
}
#endregion
}
}
#endregion
}
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class MetricData : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new MetricData());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.LicenseProtocolReflection.Descriptor.MessageTypes[3]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public MetricData() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public MetricData(MetricData other) : this() {
stageName_ = other.stageName_;
metricData_ = other.metricData_.Clone();
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public MetricData Clone() {
return new MetricData(this);
}
/// Field number for the "stage_name" field.
public const int StageNameFieldNumber = 1;
private readonly static string StageNameDefaultValue = "";
private string stageName_;
///
/// 'stage' that is currently processing the SignedMessage. Required.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public string StageName {
get { return stageName_ ?? StageNameDefaultValue; }
set {
stageName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "stage_name" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasStageName {
get { return stageName_ != null; }
}
/// Clears the value of the "stage_name" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearStageName() {
stageName_ = null;
}
/// Field number for the "metric_data" field.
public const int MetricData_FieldNumber = 2;
private static readonly pb::FieldCodec _repeated_metricData_codec
= pb::FieldCodec.ForMessage(18, global::AudibleUtilities.Widevine.MetricData.Types.TypeValue.Parser);
private readonly pbc::RepeatedField metricData_ = new pbc::RepeatedField();
///
/// metric and associated value.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pbc::RepeatedField MetricData_ {
get { return metricData_; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as MetricData);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(MetricData other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (StageName != other.StageName) return false;
if(!metricData_.Equals(other.metricData_)) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (HasStageName) hash ^= StageName.GetHashCode();
hash ^= metricData_.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (HasStageName) {
output.WriteRawTag(10);
output.WriteString(StageName);
}
metricData_.WriteTo(output, _repeated_metricData_codec);
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (HasStageName) {
output.WriteRawTag(10);
output.WriteString(StageName);
}
metricData_.WriteTo(ref output, _repeated_metricData_codec);
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (HasStageName) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(StageName);
}
size += metricData_.CalculateSize(_repeated_metricData_codec);
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(MetricData other) {
if (other == null) {
return;
}
if (other.HasStageName) {
StageName = other.StageName;
}
metricData_.Add(other.metricData_);
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
StageName = input.ReadString();
break;
}
case 18: {
metricData_.AddEntriesFrom(input, _repeated_metricData_codec);
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 10: {
StageName = input.ReadString();
break;
}
case 18: {
metricData_.AddEntriesFrom(ref input, _repeated_metricData_codec);
break;
}
}
}
}
#endif
#region Nested types
/// Container for nested types declared in the MetricData message type.
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static partial class Types {
internal enum MetricType {
///
/// The time spent in the 'stage', specified in microseconds.
///
[pbr::OriginalName("LATENCY")] Latency = 1,
///
/// The UNIX epoch timestamp at which the 'stage' was first accessed in
/// microseconds.
///
[pbr::OriginalName("TIMESTAMP")] Timestamp = 2,
}
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class TypeValue : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TypeValue());
private pb::UnknownFieldSet _unknownFields;
private int _hasBits0;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.MetricData.Descriptor.NestedTypes[0]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public TypeValue() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public TypeValue(TypeValue other) : this() {
_hasBits0 = other._hasBits0;
type_ = other.type_;
value_ = other.value_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public TypeValue Clone() {
return new TypeValue(this);
}
/// Field number for the "type" field.
public const int TypeFieldNumber = 1;
private readonly static global::AudibleUtilities.Widevine.MetricData.Types.MetricType TypeDefaultValue = global::AudibleUtilities.Widevine.MetricData.Types.MetricType.Latency;
private global::AudibleUtilities.Widevine.MetricData.Types.MetricType type_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.MetricData.Types.MetricType Type {
get { if ((_hasBits0 & 1) != 0) { return type_; } else { return TypeDefaultValue; } }
set {
_hasBits0 |= 1;
type_ = value;
}
}
/// Gets whether the "type" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasType {
get { return (_hasBits0 & 1) != 0; }
}
/// Clears the value of the "type" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearType() {
_hasBits0 &= ~1;
}
/// Field number for the "value" field.
public const int ValueFieldNumber = 2;
private readonly static long ValueDefaultValue = 0L;
private long value_;
///
/// The value associated with 'type'. For example if type == LATENCY, the
/// value would be the time in microseconds spent in this 'stage'.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public long Value {
get { if ((_hasBits0 & 2) != 0) { return value_; } else { return ValueDefaultValue; } }
set {
_hasBits0 |= 2;
value_ = value;
}
}
/// Gets whether the "value" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasValue {
get { return (_hasBits0 & 2) != 0; }
}
/// Clears the value of the "value" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearValue() {
_hasBits0 &= ~2;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as TypeValue);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(TypeValue other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (Type != other.Type) return false;
if (Value != other.Value) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (HasType) hash ^= Type.GetHashCode();
if (HasValue) hash ^= Value.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (HasType) {
output.WriteRawTag(8);
output.WriteEnum((int) Type);
}
if (HasValue) {
output.WriteRawTag(16);
output.WriteInt64(Value);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (HasType) {
output.WriteRawTag(8);
output.WriteEnum((int) Type);
}
if (HasValue) {
output.WriteRawTag(16);
output.WriteInt64(Value);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (HasType) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
}
if (HasValue) {
size += 1 + pb::CodedOutputStream.ComputeInt64Size(Value);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(TypeValue other) {
if (other == null) {
return;
}
if (other.HasType) {
Type = other.Type;
}
if (other.HasValue) {
Value = other.Value;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
Type = (global::AudibleUtilities.Widevine.MetricData.Types.MetricType) input.ReadEnum();
break;
}
case 16: {
Value = input.ReadInt64();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 8: {
Type = (global::AudibleUtilities.Widevine.MetricData.Types.MetricType) input.ReadEnum();
break;
}
case 16: {
Value = input.ReadInt64();
break;
}
}
}
}
#endif
}
}
#endregion
}
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class VersionInfo : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new VersionInfo());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.LicenseProtocolReflection.Descriptor.MessageTypes[4]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public VersionInfo() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public VersionInfo(VersionInfo other) : this() {
licenseSdkVersion_ = other.licenseSdkVersion_;
licenseServiceVersion_ = other.licenseServiceVersion_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public VersionInfo Clone() {
return new VersionInfo(this);
}
/// Field number for the "license_sdk_version" field.
public const int LicenseSdkVersionFieldNumber = 1;
private readonly static string LicenseSdkVersionDefaultValue = "";
private string licenseSdkVersion_;
///
/// License SDK version reported by the Widevine License SDK. This field
/// is populated automatically by the SDK.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public string LicenseSdkVersion {
get { return licenseSdkVersion_ ?? LicenseSdkVersionDefaultValue; }
set {
licenseSdkVersion_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "license_sdk_version" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasLicenseSdkVersion {
get { return licenseSdkVersion_ != null; }
}
/// Clears the value of the "license_sdk_version" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearLicenseSdkVersion() {
licenseSdkVersion_ = null;
}
/// Field number for the "license_service_version" field.
public const int LicenseServiceVersionFieldNumber = 2;
private readonly static string LicenseServiceVersionDefaultValue = "";
private string licenseServiceVersion_;
///
/// Version of the service hosting the license SDK. This field is optional.
/// It may be provided by the hosting service.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public string LicenseServiceVersion {
get { return licenseServiceVersion_ ?? LicenseServiceVersionDefaultValue; }
set {
licenseServiceVersion_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "license_service_version" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasLicenseServiceVersion {
get { return licenseServiceVersion_ != null; }
}
/// Clears the value of the "license_service_version" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearLicenseServiceVersion() {
licenseServiceVersion_ = null;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as VersionInfo);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(VersionInfo other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (LicenseSdkVersion != other.LicenseSdkVersion) return false;
if (LicenseServiceVersion != other.LicenseServiceVersion) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (HasLicenseSdkVersion) hash ^= LicenseSdkVersion.GetHashCode();
if (HasLicenseServiceVersion) hash ^= LicenseServiceVersion.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (HasLicenseSdkVersion) {
output.WriteRawTag(10);
output.WriteString(LicenseSdkVersion);
}
if (HasLicenseServiceVersion) {
output.WriteRawTag(18);
output.WriteString(LicenseServiceVersion);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (HasLicenseSdkVersion) {
output.WriteRawTag(10);
output.WriteString(LicenseSdkVersion);
}
if (HasLicenseServiceVersion) {
output.WriteRawTag(18);
output.WriteString(LicenseServiceVersion);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (HasLicenseSdkVersion) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(LicenseSdkVersion);
}
if (HasLicenseServiceVersion) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(LicenseServiceVersion);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(VersionInfo other) {
if (other == null) {
return;
}
if (other.HasLicenseSdkVersion) {
LicenseSdkVersion = other.LicenseSdkVersion;
}
if (other.HasLicenseServiceVersion) {
LicenseServiceVersion = other.LicenseServiceVersion;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
LicenseSdkVersion = input.ReadString();
break;
}
case 18: {
LicenseServiceVersion = input.ReadString();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 10: {
LicenseSdkVersion = input.ReadString();
break;
}
case 18: {
LicenseServiceVersion = input.ReadString();
break;
}
}
}
}
#endif
}
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class SignedMessage : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SignedMessage());
private pb::UnknownFieldSet _unknownFields;
private int _hasBits0;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.LicenseProtocolReflection.Descriptor.MessageTypes[5]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public SignedMessage() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public SignedMessage(SignedMessage other) : this() {
_hasBits0 = other._hasBits0;
type_ = other.type_;
msg_ = other.msg_;
signature_ = other.signature_;
sessionKey_ = other.sessionKey_;
remoteAttestation_ = other.remoteAttestation_;
metricData_ = other.metricData_.Clone();
serviceVersionInfo_ = other.serviceVersionInfo_ != null ? other.serviceVersionInfo_.Clone() : null;
sessionKeyType_ = other.sessionKeyType_;
oemcryptoCoreMessage_ = other.oemcryptoCoreMessage_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public SignedMessage Clone() {
return new SignedMessage(this);
}
/// Field number for the "type" field.
public const int TypeFieldNumber = 1;
private readonly static global::AudibleUtilities.Widevine.SignedMessage.Types.MessageType TypeDefaultValue = global::AudibleUtilities.Widevine.SignedMessage.Types.MessageType.LicenseRequest;
private global::AudibleUtilities.Widevine.SignedMessage.Types.MessageType type_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.SignedMessage.Types.MessageType Type {
get { if ((_hasBits0 & 1) != 0) { return type_; } else { return TypeDefaultValue; } }
set {
_hasBits0 |= 1;
type_ = value;
}
}
/// Gets whether the "type" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasType {
get { return (_hasBits0 & 1) != 0; }
}
/// Clears the value of the "type" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearType() {
_hasBits0 &= ~1;
}
/// Field number for the "msg" field.
public const int MsgFieldNumber = 2;
private readonly static pb::ByteString MsgDefaultValue = pb::ByteString.Empty;
private pb::ByteString msg_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString Msg {
get { return msg_ ?? MsgDefaultValue; }
set {
msg_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "msg" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasMsg {
get { return msg_ != null; }
}
/// Clears the value of the "msg" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearMsg() {
msg_ = null;
}
/// Field number for the "signature" field.
public const int SignatureFieldNumber = 3;
private readonly static pb::ByteString SignatureDefaultValue = pb::ByteString.Empty;
private pb::ByteString signature_;
///
/// Required field that contains the signature of the bytes of msg.
/// For license requests, the signing algorithm is determined by the
/// certificate contained in the request.
/// For license responses, the signing algorithm is HMAC with signing key based
/// on |session_key|.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString Signature {
get { return signature_ ?? SignatureDefaultValue; }
set {
signature_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "signature" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasSignature {
get { return signature_ != null; }
}
/// Clears the value of the "signature" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearSignature() {
signature_ = null;
}
/// Field number for the "session_key" field.
public const int SessionKeyFieldNumber = 4;
private readonly static pb::ByteString SessionKeyDefaultValue = pb::ByteString.Empty;
private pb::ByteString sessionKey_;
///
/// If populated, the contents of this field will be signaled by the
/// |session_key_type| type. If the |session_key_type| is WRAPPED_AES_KEY the
/// key is the bytes of an encrypted AES key. If the |session_key_type| is
/// EPHERMERAL_ECC_PUBLIC_KEY the field contains the bytes of an RFC5208 ASN1
/// serialized ECC public key.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString SessionKey {
get { return sessionKey_ ?? SessionKeyDefaultValue; }
set {
sessionKey_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "session_key" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasSessionKey {
get { return sessionKey_ != null; }
}
/// Clears the value of the "session_key" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearSessionKey() {
sessionKey_ = null;
}
/// Field number for the "remote_attestation" field.
public const int RemoteAttestationFieldNumber = 5;
private readonly static pb::ByteString RemoteAttestationDefaultValue = pb::ByteString.Empty;
private pb::ByteString remoteAttestation_;
///
/// Remote attestation data which will be present in the initial license
/// request for ChromeOS client devices operating in verified mode. Remote
/// attestation challenge data is |msg| field above. Optional.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString RemoteAttestation {
get { return remoteAttestation_ ?? RemoteAttestationDefaultValue; }
set {
remoteAttestation_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "remote_attestation" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasRemoteAttestation {
get { return remoteAttestation_ != null; }
}
/// Clears the value of the "remote_attestation" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearRemoteAttestation() {
remoteAttestation_ = null;
}
/// Field number for the "metric_data" field.
public const int MetricDataFieldNumber = 6;
private static readonly pb::FieldCodec _repeated_metricData_codec
= pb::FieldCodec.ForMessage(50, global::AudibleUtilities.Widevine.MetricData.Parser);
private readonly pbc::RepeatedField metricData_ = new pbc::RepeatedField();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pbc::RepeatedField MetricData {
get { return metricData_; }
}
/// Field number for the "service_version_info" field.
public const int ServiceVersionInfoFieldNumber = 7;
private global::AudibleUtilities.Widevine.VersionInfo serviceVersionInfo_;
///
/// Version information from the SDK and license service. This information is
/// provided in the license response.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.VersionInfo ServiceVersionInfo {
get { return serviceVersionInfo_; }
set {
serviceVersionInfo_ = value;
}
}
/// Field number for the "session_key_type" field.
public const int SessionKeyTypeFieldNumber = 8;
private readonly static global::AudibleUtilities.Widevine.SignedMessage.Types.SessionKeyType SessionKeyTypeDefaultValue = global::AudibleUtilities.Widevine.SignedMessage.Types.SessionKeyType.WrappedAesKey;
private global::AudibleUtilities.Widevine.SignedMessage.Types.SessionKeyType sessionKeyType_;
///
/// Optional field that contains the algorithm type used to generate the
/// session_key and signature in a LICENSE message.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.SignedMessage.Types.SessionKeyType SessionKeyType {
get { if ((_hasBits0 & 2) != 0) { return sessionKeyType_; } else { return SessionKeyTypeDefaultValue; } }
set {
_hasBits0 |= 2;
sessionKeyType_ = value;
}
}
/// Gets whether the "session_key_type" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasSessionKeyType {
get { return (_hasBits0 & 2) != 0; }
}
/// Clears the value of the "session_key_type" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearSessionKeyType() {
_hasBits0 &= ~2;
}
/// Field number for the "oemcrypto_core_message" field.
public const int OemcryptoCoreMessageFieldNumber = 9;
private readonly static pb::ByteString OemcryptoCoreMessageDefaultValue = pb::ByteString.Empty;
private pb::ByteString oemcryptoCoreMessage_;
///
/// The core message is the simple serialization of fields used by OEMCrypto.
/// This field was introduced in OEMCrypto API v16.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString OemcryptoCoreMessage {
get { return oemcryptoCoreMessage_ ?? OemcryptoCoreMessageDefaultValue; }
set {
oemcryptoCoreMessage_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "oemcrypto_core_message" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasOemcryptoCoreMessage {
get { return oemcryptoCoreMessage_ != null; }
}
/// Clears the value of the "oemcrypto_core_message" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearOemcryptoCoreMessage() {
oemcryptoCoreMessage_ = null;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as SignedMessage);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(SignedMessage other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (Type != other.Type) return false;
if (Msg != other.Msg) return false;
if (Signature != other.Signature) return false;
if (SessionKey != other.SessionKey) return false;
if (RemoteAttestation != other.RemoteAttestation) return false;
if(!metricData_.Equals(other.metricData_)) return false;
if (!object.Equals(ServiceVersionInfo, other.ServiceVersionInfo)) return false;
if (SessionKeyType != other.SessionKeyType) return false;
if (OemcryptoCoreMessage != other.OemcryptoCoreMessage) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (HasType) hash ^= Type.GetHashCode();
if (HasMsg) hash ^= Msg.GetHashCode();
if (HasSignature) hash ^= Signature.GetHashCode();
if (HasSessionKey) hash ^= SessionKey.GetHashCode();
if (HasRemoteAttestation) hash ^= RemoteAttestation.GetHashCode();
hash ^= metricData_.GetHashCode();
if (serviceVersionInfo_ != null) hash ^= ServiceVersionInfo.GetHashCode();
if (HasSessionKeyType) hash ^= SessionKeyType.GetHashCode();
if (HasOemcryptoCoreMessage) hash ^= OemcryptoCoreMessage.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (HasType) {
output.WriteRawTag(8);
output.WriteEnum((int) Type);
}
if (HasMsg) {
output.WriteRawTag(18);
output.WriteBytes(Msg);
}
if (HasSignature) {
output.WriteRawTag(26);
output.WriteBytes(Signature);
}
if (HasSessionKey) {
output.WriteRawTag(34);
output.WriteBytes(SessionKey);
}
if (HasRemoteAttestation) {
output.WriteRawTag(42);
output.WriteBytes(RemoteAttestation);
}
metricData_.WriteTo(output, _repeated_metricData_codec);
if (serviceVersionInfo_ != null) {
output.WriteRawTag(58);
output.WriteMessage(ServiceVersionInfo);
}
if (HasSessionKeyType) {
output.WriteRawTag(64);
output.WriteEnum((int) SessionKeyType);
}
if (HasOemcryptoCoreMessage) {
output.WriteRawTag(74);
output.WriteBytes(OemcryptoCoreMessage);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (HasType) {
output.WriteRawTag(8);
output.WriteEnum((int) Type);
}
if (HasMsg) {
output.WriteRawTag(18);
output.WriteBytes(Msg);
}
if (HasSignature) {
output.WriteRawTag(26);
output.WriteBytes(Signature);
}
if (HasSessionKey) {
output.WriteRawTag(34);
output.WriteBytes(SessionKey);
}
if (HasRemoteAttestation) {
output.WriteRawTag(42);
output.WriteBytes(RemoteAttestation);
}
metricData_.WriteTo(ref output, _repeated_metricData_codec);
if (serviceVersionInfo_ != null) {
output.WriteRawTag(58);
output.WriteMessage(ServiceVersionInfo);
}
if (HasSessionKeyType) {
output.WriteRawTag(64);
output.WriteEnum((int) SessionKeyType);
}
if (HasOemcryptoCoreMessage) {
output.WriteRawTag(74);
output.WriteBytes(OemcryptoCoreMessage);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (HasType) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
}
if (HasMsg) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(Msg);
}
if (HasSignature) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(Signature);
}
if (HasSessionKey) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(SessionKey);
}
if (HasRemoteAttestation) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(RemoteAttestation);
}
size += metricData_.CalculateSize(_repeated_metricData_codec);
if (serviceVersionInfo_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(ServiceVersionInfo);
}
if (HasSessionKeyType) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) SessionKeyType);
}
if (HasOemcryptoCoreMessage) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(OemcryptoCoreMessage);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(SignedMessage other) {
if (other == null) {
return;
}
if (other.HasType) {
Type = other.Type;
}
if (other.HasMsg) {
Msg = other.Msg;
}
if (other.HasSignature) {
Signature = other.Signature;
}
if (other.HasSessionKey) {
SessionKey = other.SessionKey;
}
if (other.HasRemoteAttestation) {
RemoteAttestation = other.RemoteAttestation;
}
metricData_.Add(other.metricData_);
if (other.serviceVersionInfo_ != null) {
if (serviceVersionInfo_ == null) {
ServiceVersionInfo = new global::AudibleUtilities.Widevine.VersionInfo();
}
ServiceVersionInfo.MergeFrom(other.ServiceVersionInfo);
}
if (other.HasSessionKeyType) {
SessionKeyType = other.SessionKeyType;
}
if (other.HasOemcryptoCoreMessage) {
OemcryptoCoreMessage = other.OemcryptoCoreMessage;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
Type = (global::AudibleUtilities.Widevine.SignedMessage.Types.MessageType) input.ReadEnum();
break;
}
case 18: {
Msg = input.ReadBytes();
break;
}
case 26: {
Signature = input.ReadBytes();
break;
}
case 34: {
SessionKey = input.ReadBytes();
break;
}
case 42: {
RemoteAttestation = input.ReadBytes();
break;
}
case 50: {
metricData_.AddEntriesFrom(input, _repeated_metricData_codec);
break;
}
case 58: {
if (serviceVersionInfo_ == null) {
ServiceVersionInfo = new global::AudibleUtilities.Widevine.VersionInfo();
}
input.ReadMessage(ServiceVersionInfo);
break;
}
case 64: {
SessionKeyType = (global::AudibleUtilities.Widevine.SignedMessage.Types.SessionKeyType) input.ReadEnum();
break;
}
case 74: {
OemcryptoCoreMessage = input.ReadBytes();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 8: {
Type = (global::AudibleUtilities.Widevine.SignedMessage.Types.MessageType) input.ReadEnum();
break;
}
case 18: {
Msg = input.ReadBytes();
break;
}
case 26: {
Signature = input.ReadBytes();
break;
}
case 34: {
SessionKey = input.ReadBytes();
break;
}
case 42: {
RemoteAttestation = input.ReadBytes();
break;
}
case 50: {
metricData_.AddEntriesFrom(ref input, _repeated_metricData_codec);
break;
}
case 58: {
if (serviceVersionInfo_ == null) {
ServiceVersionInfo = new global::AudibleUtilities.Widevine.VersionInfo();
}
input.ReadMessage(ServiceVersionInfo);
break;
}
case 64: {
SessionKeyType = (global::AudibleUtilities.Widevine.SignedMessage.Types.SessionKeyType) input.ReadEnum();
break;
}
case 74: {
OemcryptoCoreMessage = input.ReadBytes();
break;
}
}
}
}
#endif
#region Nested types
/// Container for nested types declared in the SignedMessage message type.
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static partial class Types {
internal enum MessageType {
[pbr::OriginalName("LICENSE_REQUEST")] LicenseRequest = 1,
[pbr::OriginalName("LICENSE")] License = 2,
[pbr::OriginalName("ERROR_RESPONSE")] ErrorResponse = 3,
[pbr::OriginalName("SERVICE_CERTIFICATE_REQUEST")] ServiceCertificateRequest = 4,
[pbr::OriginalName("SERVICE_CERTIFICATE")] ServiceCertificate = 5,
[pbr::OriginalName("SUB_LICENSE")] SubLicense = 6,
[pbr::OriginalName("CAS_LICENSE_REQUEST")] CasLicenseRequest = 7,
[pbr::OriginalName("CAS_LICENSE")] CasLicense = 8,
[pbr::OriginalName("EXTERNAL_LICENSE_REQUEST")] ExternalLicenseRequest = 9,
[pbr::OriginalName("EXTERNAL_LICENSE")] ExternalLicense = 10,
}
internal enum SessionKeyType {
[pbr::OriginalName("UNDEFINED")] Undefined = 0,
[pbr::OriginalName("WRAPPED_AES_KEY")] WrappedAesKey = 1,
[pbr::OriginalName("EPHERMERAL_ECC_PUBLIC_KEY")] EphermeralEccPublicKey = 2,
}
}
#endregion
}
///
/// ClientIdentification message used to authenticate the client device.
///
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class ClientIdentification : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ClientIdentification());
private pb::UnknownFieldSet _unknownFields;
private int _hasBits0;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.LicenseProtocolReflection.Descriptor.MessageTypes[6]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public ClientIdentification() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public ClientIdentification(ClientIdentification other) : this() {
_hasBits0 = other._hasBits0;
type_ = other.type_;
token_ = other.token_;
clientInfo_ = other.clientInfo_.Clone();
providerClientToken_ = other.providerClientToken_;
licenseCounter_ = other.licenseCounter_;
clientCapabilities_ = other.clientCapabilities_ != null ? other.clientCapabilities_.Clone() : null;
vmpData_ = other.vmpData_;
deviceCredentials_ = other.deviceCredentials_.Clone();
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public ClientIdentification Clone() {
return new ClientIdentification(this);
}
/// Field number for the "type" field.
public const int TypeFieldNumber = 1;
private readonly static global::AudibleUtilities.Widevine.ClientIdentification.Types.TokenType TypeDefaultValue = global::AudibleUtilities.Widevine.ClientIdentification.Types.TokenType.Keybox;
private global::AudibleUtilities.Widevine.ClientIdentification.Types.TokenType type_;
///
/// Type of factory-provisioned device root of trust. Optional.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.ClientIdentification.Types.TokenType Type {
get { if ((_hasBits0 & 1) != 0) { return type_; } else { return TypeDefaultValue; } }
set {
_hasBits0 |= 1;
type_ = value;
}
}
/// Gets whether the "type" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasType {
get { return (_hasBits0 & 1) != 0; }
}
/// Clears the value of the "type" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearType() {
_hasBits0 &= ~1;
}
/// Field number for the "token" field.
public const int TokenFieldNumber = 2;
private readonly static pb::ByteString TokenDefaultValue = pb::ByteString.Empty;
private pb::ByteString token_;
///
/// Factory-provisioned device root of trust. Required.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString Token {
get { return token_ ?? TokenDefaultValue; }
set {
token_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "token" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasToken {
get { return token_ != null; }
}
/// Clears the value of the "token" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearToken() {
token_ = null;
}
/// Field number for the "client_info" field.
public const int ClientInfoFieldNumber = 3;
private static readonly pb::FieldCodec _repeated_clientInfo_codec
= pb::FieldCodec.ForMessage(26, global::AudibleUtilities.Widevine.ClientIdentification.Types.NameValue.Parser);
private readonly pbc::RepeatedField clientInfo_ = new pbc::RepeatedField();
///
/// Optional client information name/value pairs.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pbc::RepeatedField ClientInfo {
get { return clientInfo_; }
}
/// Field number for the "provider_client_token" field.
public const int ProviderClientTokenFieldNumber = 4;
private readonly static pb::ByteString ProviderClientTokenDefaultValue = pb::ByteString.Empty;
private pb::ByteString providerClientToken_;
///
/// Client token generated by the content provider. Optional.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString ProviderClientToken {
get { return providerClientToken_ ?? ProviderClientTokenDefaultValue; }
set {
providerClientToken_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "provider_client_token" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasProviderClientToken {
get { return providerClientToken_ != null; }
}
/// Clears the value of the "provider_client_token" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearProviderClientToken() {
providerClientToken_ = null;
}
/// Field number for the "license_counter" field.
public const int LicenseCounterFieldNumber = 5;
private readonly static uint LicenseCounterDefaultValue = 0;
private uint licenseCounter_;
///
/// Number of licenses received by the client to which the token above belongs.
/// Only present if client_token is specified.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public uint LicenseCounter {
get { if ((_hasBits0 & 2) != 0) { return licenseCounter_; } else { return LicenseCounterDefaultValue; } }
set {
_hasBits0 |= 2;
licenseCounter_ = value;
}
}
/// Gets whether the "license_counter" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasLicenseCounter {
get { return (_hasBits0 & 2) != 0; }
}
/// Clears the value of the "license_counter" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearLicenseCounter() {
_hasBits0 &= ~2;
}
/// Field number for the "client_capabilities" field.
public const int ClientCapabilitiesFieldNumber = 6;
private global::AudibleUtilities.Widevine.ClientIdentification.Types.ClientCapabilities clientCapabilities_;
///
/// List of non-baseline client capabilities.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.ClientIdentification.Types.ClientCapabilities ClientCapabilities {
get { return clientCapabilities_; }
set {
clientCapabilities_ = value;
}
}
/// Field number for the "vmp_data" field.
public const int VmpDataFieldNumber = 7;
private readonly static pb::ByteString VmpDataDefaultValue = pb::ByteString.Empty;
private pb::ByteString vmpData_;
///
/// Serialized VmpData message. Optional.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString VmpData {
get { return vmpData_ ?? VmpDataDefaultValue; }
set {
vmpData_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "vmp_data" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasVmpData {
get { return vmpData_ != null; }
}
/// Clears the value of the "vmp_data" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearVmpData() {
vmpData_ = null;
}
/// Field number for the "device_credentials" field.
public const int DeviceCredentialsFieldNumber = 8;
private static readonly pb::FieldCodec _repeated_deviceCredentials_codec
= pb::FieldCodec.ForMessage(66, global::AudibleUtilities.Widevine.ClientIdentification.Types.ClientCredentials.Parser);
private readonly pbc::RepeatedField deviceCredentials_ = new pbc::RepeatedField();
///
/// Optional field that may contain additional provisioning credentials.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pbc::RepeatedField DeviceCredentials {
get { return deviceCredentials_; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as ClientIdentification);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(ClientIdentification other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (Type != other.Type) return false;
if (Token != other.Token) return false;
if(!clientInfo_.Equals(other.clientInfo_)) return false;
if (ProviderClientToken != other.ProviderClientToken) return false;
if (LicenseCounter != other.LicenseCounter) return false;
if (!object.Equals(ClientCapabilities, other.ClientCapabilities)) return false;
if (VmpData != other.VmpData) return false;
if(!deviceCredentials_.Equals(other.deviceCredentials_)) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (HasType) hash ^= Type.GetHashCode();
if (HasToken) hash ^= Token.GetHashCode();
hash ^= clientInfo_.GetHashCode();
if (HasProviderClientToken) hash ^= ProviderClientToken.GetHashCode();
if (HasLicenseCounter) hash ^= LicenseCounter.GetHashCode();
if (clientCapabilities_ != null) hash ^= ClientCapabilities.GetHashCode();
if (HasVmpData) hash ^= VmpData.GetHashCode();
hash ^= deviceCredentials_.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (HasType) {
output.WriteRawTag(8);
output.WriteEnum((int) Type);
}
if (HasToken) {
output.WriteRawTag(18);
output.WriteBytes(Token);
}
clientInfo_.WriteTo(output, _repeated_clientInfo_codec);
if (HasProviderClientToken) {
output.WriteRawTag(34);
output.WriteBytes(ProviderClientToken);
}
if (HasLicenseCounter) {
output.WriteRawTag(40);
output.WriteUInt32(LicenseCounter);
}
if (clientCapabilities_ != null) {
output.WriteRawTag(50);
output.WriteMessage(ClientCapabilities);
}
if (HasVmpData) {
output.WriteRawTag(58);
output.WriteBytes(VmpData);
}
deviceCredentials_.WriteTo(output, _repeated_deviceCredentials_codec);
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (HasType) {
output.WriteRawTag(8);
output.WriteEnum((int) Type);
}
if (HasToken) {
output.WriteRawTag(18);
output.WriteBytes(Token);
}
clientInfo_.WriteTo(ref output, _repeated_clientInfo_codec);
if (HasProviderClientToken) {
output.WriteRawTag(34);
output.WriteBytes(ProviderClientToken);
}
if (HasLicenseCounter) {
output.WriteRawTag(40);
output.WriteUInt32(LicenseCounter);
}
if (clientCapabilities_ != null) {
output.WriteRawTag(50);
output.WriteMessage(ClientCapabilities);
}
if (HasVmpData) {
output.WriteRawTag(58);
output.WriteBytes(VmpData);
}
deviceCredentials_.WriteTo(ref output, _repeated_deviceCredentials_codec);
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (HasType) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
}
if (HasToken) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(Token);
}
size += clientInfo_.CalculateSize(_repeated_clientInfo_codec);
if (HasProviderClientToken) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(ProviderClientToken);
}
if (HasLicenseCounter) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(LicenseCounter);
}
if (clientCapabilities_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(ClientCapabilities);
}
if (HasVmpData) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(VmpData);
}
size += deviceCredentials_.CalculateSize(_repeated_deviceCredentials_codec);
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(ClientIdentification other) {
if (other == null) {
return;
}
if (other.HasType) {
Type = other.Type;
}
if (other.HasToken) {
Token = other.Token;
}
clientInfo_.Add(other.clientInfo_);
if (other.HasProviderClientToken) {
ProviderClientToken = other.ProviderClientToken;
}
if (other.HasLicenseCounter) {
LicenseCounter = other.LicenseCounter;
}
if (other.clientCapabilities_ != null) {
if (clientCapabilities_ == null) {
ClientCapabilities = new global::AudibleUtilities.Widevine.ClientIdentification.Types.ClientCapabilities();
}
ClientCapabilities.MergeFrom(other.ClientCapabilities);
}
if (other.HasVmpData) {
VmpData = other.VmpData;
}
deviceCredentials_.Add(other.deviceCredentials_);
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
Type = (global::AudibleUtilities.Widevine.ClientIdentification.Types.TokenType) input.ReadEnum();
break;
}
case 18: {
Token = input.ReadBytes();
break;
}
case 26: {
clientInfo_.AddEntriesFrom(input, _repeated_clientInfo_codec);
break;
}
case 34: {
ProviderClientToken = input.ReadBytes();
break;
}
case 40: {
LicenseCounter = input.ReadUInt32();
break;
}
case 50: {
if (clientCapabilities_ == null) {
ClientCapabilities = new global::AudibleUtilities.Widevine.ClientIdentification.Types.ClientCapabilities();
}
input.ReadMessage(ClientCapabilities);
break;
}
case 58: {
VmpData = input.ReadBytes();
break;
}
case 66: {
deviceCredentials_.AddEntriesFrom(input, _repeated_deviceCredentials_codec);
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 8: {
Type = (global::AudibleUtilities.Widevine.ClientIdentification.Types.TokenType) input.ReadEnum();
break;
}
case 18: {
Token = input.ReadBytes();
break;
}
case 26: {
clientInfo_.AddEntriesFrom(ref input, _repeated_clientInfo_codec);
break;
}
case 34: {
ProviderClientToken = input.ReadBytes();
break;
}
case 40: {
LicenseCounter = input.ReadUInt32();
break;
}
case 50: {
if (clientCapabilities_ == null) {
ClientCapabilities = new global::AudibleUtilities.Widevine.ClientIdentification.Types.ClientCapabilities();
}
input.ReadMessage(ClientCapabilities);
break;
}
case 58: {
VmpData = input.ReadBytes();
break;
}
case 66: {
deviceCredentials_.AddEntriesFrom(ref input, _repeated_deviceCredentials_codec);
break;
}
}
}
}
#endif
#region Nested types
/// Container for nested types declared in the ClientIdentification message type.
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static partial class Types {
internal enum TokenType {
[pbr::OriginalName("KEYBOX")] Keybox = 0,
[pbr::OriginalName("DRM_DEVICE_CERTIFICATE")] DrmDeviceCertificate = 1,
[pbr::OriginalName("REMOTE_ATTESTATION_CERTIFICATE")] RemoteAttestationCertificate = 2,
[pbr::OriginalName("OEM_DEVICE_CERTIFICATE")] OemDeviceCertificate = 3,
}
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class NameValue : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new NameValue());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.ClientIdentification.Descriptor.NestedTypes[0]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public NameValue() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public NameValue(NameValue other) : this() {
name_ = other.name_;
value_ = other.value_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public NameValue Clone() {
return new NameValue(this);
}
/// Field number for the "name" field.
public const int NameFieldNumber = 1;
private readonly static string NameDefaultValue = "";
private string name_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public string Name {
get { return name_ ?? NameDefaultValue; }
set {
name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "name" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasName {
get { return name_ != null; }
}
/// Clears the value of the "name" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearName() {
name_ = null;
}
/// Field number for the "value" field.
public const int ValueFieldNumber = 2;
private readonly static string ValueDefaultValue = "";
private string value_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public string Value {
get { return value_ ?? ValueDefaultValue; }
set {
value_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "value" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasValue {
get { return value_ != null; }
}
/// Clears the value of the "value" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearValue() {
value_ = null;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as NameValue);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(NameValue other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (Name != other.Name) return false;
if (Value != other.Value) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (HasName) hash ^= Name.GetHashCode();
if (HasValue) hash ^= Value.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (HasName) {
output.WriteRawTag(10);
output.WriteString(Name);
}
if (HasValue) {
output.WriteRawTag(18);
output.WriteString(Value);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (HasName) {
output.WriteRawTag(10);
output.WriteString(Name);
}
if (HasValue) {
output.WriteRawTag(18);
output.WriteString(Value);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (HasName) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
}
if (HasValue) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(Value);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(NameValue other) {
if (other == null) {
return;
}
if (other.HasName) {
Name = other.Name;
}
if (other.HasValue) {
Value = other.Value;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
Name = input.ReadString();
break;
}
case 18: {
Value = input.ReadString();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 10: {
Name = input.ReadString();
break;
}
case 18: {
Value = input.ReadString();
break;
}
}
}
}
#endif
}
///
/// Capabilities which not all clients may support. Used for the license
/// exchange protocol only.
///
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class ClientCapabilities : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ClientCapabilities());
private pb::UnknownFieldSet _unknownFields;
private int _hasBits0;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.ClientIdentification.Descriptor.NestedTypes[1]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public ClientCapabilities() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public ClientCapabilities(ClientCapabilities other) : this() {
_hasBits0 = other._hasBits0;
clientToken_ = other.clientToken_;
sessionToken_ = other.sessionToken_;
videoResolutionConstraints_ = other.videoResolutionConstraints_;
maxHdcpVersion_ = other.maxHdcpVersion_;
oemCryptoApiVersion_ = other.oemCryptoApiVersion_;
antiRollbackUsageTable_ = other.antiRollbackUsageTable_;
srmVersion_ = other.srmVersion_;
canUpdateSrm_ = other.canUpdateSrm_;
supportedCertificateKeyType_ = other.supportedCertificateKeyType_.Clone();
analogOutputCapabilities_ = other.analogOutputCapabilities_;
canDisableAnalogOutput_ = other.canDisableAnalogOutput_;
resourceRatingTier_ = other.resourceRatingTier_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public ClientCapabilities Clone() {
return new ClientCapabilities(this);
}
/// Field number for the "client_token" field.
public const int ClientTokenFieldNumber = 1;
private readonly static bool ClientTokenDefaultValue = false;
private bool clientToken_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool ClientToken {
get { if ((_hasBits0 & 1) != 0) { return clientToken_; } else { return ClientTokenDefaultValue; } }
set {
_hasBits0 |= 1;
clientToken_ = value;
}
}
/// Gets whether the "client_token" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasClientToken {
get { return (_hasBits0 & 1) != 0; }
}
/// Clears the value of the "client_token" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearClientToken() {
_hasBits0 &= ~1;
}
/// Field number for the "session_token" field.
public const int SessionTokenFieldNumber = 2;
private readonly static bool SessionTokenDefaultValue = false;
private bool sessionToken_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool SessionToken {
get { if ((_hasBits0 & 2) != 0) { return sessionToken_; } else { return SessionTokenDefaultValue; } }
set {
_hasBits0 |= 2;
sessionToken_ = value;
}
}
/// Gets whether the "session_token" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasSessionToken {
get { return (_hasBits0 & 2) != 0; }
}
/// Clears the value of the "session_token" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearSessionToken() {
_hasBits0 &= ~2;
}
/// Field number for the "video_resolution_constraints" field.
public const int VideoResolutionConstraintsFieldNumber = 3;
private readonly static bool VideoResolutionConstraintsDefaultValue = false;
private bool videoResolutionConstraints_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool VideoResolutionConstraints {
get { if ((_hasBits0 & 4) != 0) { return videoResolutionConstraints_; } else { return VideoResolutionConstraintsDefaultValue; } }
set {
_hasBits0 |= 4;
videoResolutionConstraints_ = value;
}
}
/// Gets whether the "video_resolution_constraints" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasVideoResolutionConstraints {
get { return (_hasBits0 & 4) != 0; }
}
/// Clears the value of the "video_resolution_constraints" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearVideoResolutionConstraints() {
_hasBits0 &= ~4;
}
/// Field number for the "max_hdcp_version" field.
public const int MaxHdcpVersionFieldNumber = 4;
private readonly static global::AudibleUtilities.Widevine.ClientIdentification.Types.ClientCapabilities.Types.HdcpVersion MaxHdcpVersionDefaultValue = global::AudibleUtilities.Widevine.ClientIdentification.Types.ClientCapabilities.Types.HdcpVersion.HdcpNone;
private global::AudibleUtilities.Widevine.ClientIdentification.Types.ClientCapabilities.Types.HdcpVersion maxHdcpVersion_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.ClientIdentification.Types.ClientCapabilities.Types.HdcpVersion MaxHdcpVersion {
get { if ((_hasBits0 & 8) != 0) { return maxHdcpVersion_; } else { return MaxHdcpVersionDefaultValue; } }
set {
_hasBits0 |= 8;
maxHdcpVersion_ = value;
}
}
/// Gets whether the "max_hdcp_version" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasMaxHdcpVersion {
get { return (_hasBits0 & 8) != 0; }
}
/// Clears the value of the "max_hdcp_version" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearMaxHdcpVersion() {
_hasBits0 &= ~8;
}
/// Field number for the "oem_crypto_api_version" field.
public const int OemCryptoApiVersionFieldNumber = 5;
private readonly static uint OemCryptoApiVersionDefaultValue = 0;
private uint oemCryptoApiVersion_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public uint OemCryptoApiVersion {
get { if ((_hasBits0 & 16) != 0) { return oemCryptoApiVersion_; } else { return OemCryptoApiVersionDefaultValue; } }
set {
_hasBits0 |= 16;
oemCryptoApiVersion_ = value;
}
}
/// Gets whether the "oem_crypto_api_version" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasOemCryptoApiVersion {
get { return (_hasBits0 & 16) != 0; }
}
/// Clears the value of the "oem_crypto_api_version" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearOemCryptoApiVersion() {
_hasBits0 &= ~16;
}
/// Field number for the "anti_rollback_usage_table" field.
public const int AntiRollbackUsageTableFieldNumber = 6;
private readonly static bool AntiRollbackUsageTableDefaultValue = false;
private bool antiRollbackUsageTable_;
///
/// Client has hardware support for protecting the usage table, such as
/// storing the generation number in secure memory. For Details, see:
/// Widevine Modular DRM Security Integration Guide for CENC
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool AntiRollbackUsageTable {
get { if ((_hasBits0 & 32) != 0) { return antiRollbackUsageTable_; } else { return AntiRollbackUsageTableDefaultValue; } }
set {
_hasBits0 |= 32;
antiRollbackUsageTable_ = value;
}
}
/// Gets whether the "anti_rollback_usage_table" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasAntiRollbackUsageTable {
get { return (_hasBits0 & 32) != 0; }
}
/// Clears the value of the "anti_rollback_usage_table" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearAntiRollbackUsageTable() {
_hasBits0 &= ~32;
}
/// Field number for the "srm_version" field.
public const int SrmVersionFieldNumber = 7;
private readonly static uint SrmVersionDefaultValue = 0;
private uint srmVersion_;
///
/// The client shall report |srm_version| if available.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public uint SrmVersion {
get { if ((_hasBits0 & 64) != 0) { return srmVersion_; } else { return SrmVersionDefaultValue; } }
set {
_hasBits0 |= 64;
srmVersion_ = value;
}
}
/// Gets whether the "srm_version" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasSrmVersion {
get { return (_hasBits0 & 64) != 0; }
}
/// Clears the value of the "srm_version" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearSrmVersion() {
_hasBits0 &= ~64;
}
/// Field number for the "can_update_srm" field.
public const int CanUpdateSrmFieldNumber = 8;
private readonly static bool CanUpdateSrmDefaultValue = false;
private bool canUpdateSrm_;
///
/// A device may have SRM data, and report a version, but may not be capable
/// of updating SRM data.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool CanUpdateSrm {
get { if ((_hasBits0 & 128) != 0) { return canUpdateSrm_; } else { return CanUpdateSrmDefaultValue; } }
set {
_hasBits0 |= 128;
canUpdateSrm_ = value;
}
}
/// Gets whether the "can_update_srm" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasCanUpdateSrm {
get { return (_hasBits0 & 128) != 0; }
}
/// Clears the value of the "can_update_srm" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearCanUpdateSrm() {
_hasBits0 &= ~128;
}
/// Field number for the "supported_certificate_key_type" field.
public const int SupportedCertificateKeyTypeFieldNumber = 9;
private static readonly pb::FieldCodec _repeated_supportedCertificateKeyType_codec
= pb::FieldCodec.ForEnum(72, x => (int) x, x => (global::AudibleUtilities.Widevine.ClientIdentification.Types.ClientCapabilities.Types.CertificateKeyType) x);
private readonly pbc::RepeatedField supportedCertificateKeyType_ = new pbc::RepeatedField();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pbc::RepeatedField SupportedCertificateKeyType {
get { return supportedCertificateKeyType_; }
}
/// Field number for the "analog_output_capabilities" field.
public const int AnalogOutputCapabilitiesFieldNumber = 10;
private readonly static global::AudibleUtilities.Widevine.ClientIdentification.Types.ClientCapabilities.Types.AnalogOutputCapabilities AnalogOutputCapabilitiesDefaultValue = global::AudibleUtilities.Widevine.ClientIdentification.Types.ClientCapabilities.Types.AnalogOutputCapabilities.AnalogOutputUnknown;
private global::AudibleUtilities.Widevine.ClientIdentification.Types.ClientCapabilities.Types.AnalogOutputCapabilities analogOutputCapabilities_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.ClientIdentification.Types.ClientCapabilities.Types.AnalogOutputCapabilities AnalogOutputCapabilities {
get { if ((_hasBits0 & 256) != 0) { return analogOutputCapabilities_; } else { return AnalogOutputCapabilitiesDefaultValue; } }
set {
_hasBits0 |= 256;
analogOutputCapabilities_ = value;
}
}
/// Gets whether the "analog_output_capabilities" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasAnalogOutputCapabilities {
get { return (_hasBits0 & 256) != 0; }
}
/// Clears the value of the "analog_output_capabilities" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearAnalogOutputCapabilities() {
_hasBits0 &= ~256;
}
/// Field number for the "can_disable_analog_output" field.
public const int CanDisableAnalogOutputFieldNumber = 11;
private readonly static bool CanDisableAnalogOutputDefaultValue = false;
private bool canDisableAnalogOutput_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool CanDisableAnalogOutput {
get { if ((_hasBits0 & 512) != 0) { return canDisableAnalogOutput_; } else { return CanDisableAnalogOutputDefaultValue; } }
set {
_hasBits0 |= 512;
canDisableAnalogOutput_ = value;
}
}
/// Gets whether the "can_disable_analog_output" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasCanDisableAnalogOutput {
get { return (_hasBits0 & 512) != 0; }
}
/// Clears the value of the "can_disable_analog_output" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearCanDisableAnalogOutput() {
_hasBits0 &= ~512;
}
/// Field number for the "resource_rating_tier" field.
public const int ResourceRatingTierFieldNumber = 12;
private readonly static uint ResourceRatingTierDefaultValue = 0;
private uint resourceRatingTier_;
///
/// Clients can indicate a performance level supported by OEMCrypto.
/// This will allow applications and providers to choose an appropriate
/// quality of content to serve. Currently defined tiers are
/// 1 (low), 2 (medium) and 3 (high). Any other value indicates that
/// the resource rating is unavailable or reporting erroneous values
/// for that device. For details see,
/// Widevine Modular DRM Security Integration Guide for CENC
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public uint ResourceRatingTier {
get { if ((_hasBits0 & 1024) != 0) { return resourceRatingTier_; } else { return ResourceRatingTierDefaultValue; } }
set {
_hasBits0 |= 1024;
resourceRatingTier_ = value;
}
}
/// Gets whether the "resource_rating_tier" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasResourceRatingTier {
get { return (_hasBits0 & 1024) != 0; }
}
/// Clears the value of the "resource_rating_tier" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearResourceRatingTier() {
_hasBits0 &= ~1024;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as ClientCapabilities);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(ClientCapabilities other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (ClientToken != other.ClientToken) return false;
if (SessionToken != other.SessionToken) return false;
if (VideoResolutionConstraints != other.VideoResolutionConstraints) return false;
if (MaxHdcpVersion != other.MaxHdcpVersion) return false;
if (OemCryptoApiVersion != other.OemCryptoApiVersion) return false;
if (AntiRollbackUsageTable != other.AntiRollbackUsageTable) return false;
if (SrmVersion != other.SrmVersion) return false;
if (CanUpdateSrm != other.CanUpdateSrm) return false;
if(!supportedCertificateKeyType_.Equals(other.supportedCertificateKeyType_)) return false;
if (AnalogOutputCapabilities != other.AnalogOutputCapabilities) return false;
if (CanDisableAnalogOutput != other.CanDisableAnalogOutput) return false;
if (ResourceRatingTier != other.ResourceRatingTier) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (HasClientToken) hash ^= ClientToken.GetHashCode();
if (HasSessionToken) hash ^= SessionToken.GetHashCode();
if (HasVideoResolutionConstraints) hash ^= VideoResolutionConstraints.GetHashCode();
if (HasMaxHdcpVersion) hash ^= MaxHdcpVersion.GetHashCode();
if (HasOemCryptoApiVersion) hash ^= OemCryptoApiVersion.GetHashCode();
if (HasAntiRollbackUsageTable) hash ^= AntiRollbackUsageTable.GetHashCode();
if (HasSrmVersion) hash ^= SrmVersion.GetHashCode();
if (HasCanUpdateSrm) hash ^= CanUpdateSrm.GetHashCode();
hash ^= supportedCertificateKeyType_.GetHashCode();
if (HasAnalogOutputCapabilities) hash ^= AnalogOutputCapabilities.GetHashCode();
if (HasCanDisableAnalogOutput) hash ^= CanDisableAnalogOutput.GetHashCode();
if (HasResourceRatingTier) hash ^= ResourceRatingTier.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (HasClientToken) {
output.WriteRawTag(8);
output.WriteBool(ClientToken);
}
if (HasSessionToken) {
output.WriteRawTag(16);
output.WriteBool(SessionToken);
}
if (HasVideoResolutionConstraints) {
output.WriteRawTag(24);
output.WriteBool(VideoResolutionConstraints);
}
if (HasMaxHdcpVersion) {
output.WriteRawTag(32);
output.WriteEnum((int) MaxHdcpVersion);
}
if (HasOemCryptoApiVersion) {
output.WriteRawTag(40);
output.WriteUInt32(OemCryptoApiVersion);
}
if (HasAntiRollbackUsageTable) {
output.WriteRawTag(48);
output.WriteBool(AntiRollbackUsageTable);
}
if (HasSrmVersion) {
output.WriteRawTag(56);
output.WriteUInt32(SrmVersion);
}
if (HasCanUpdateSrm) {
output.WriteRawTag(64);
output.WriteBool(CanUpdateSrm);
}
supportedCertificateKeyType_.WriteTo(output, _repeated_supportedCertificateKeyType_codec);
if (HasAnalogOutputCapabilities) {
output.WriteRawTag(80);
output.WriteEnum((int) AnalogOutputCapabilities);
}
if (HasCanDisableAnalogOutput) {
output.WriteRawTag(88);
output.WriteBool(CanDisableAnalogOutput);
}
if (HasResourceRatingTier) {
output.WriteRawTag(96);
output.WriteUInt32(ResourceRatingTier);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (HasClientToken) {
output.WriteRawTag(8);
output.WriteBool(ClientToken);
}
if (HasSessionToken) {
output.WriteRawTag(16);
output.WriteBool(SessionToken);
}
if (HasVideoResolutionConstraints) {
output.WriteRawTag(24);
output.WriteBool(VideoResolutionConstraints);
}
if (HasMaxHdcpVersion) {
output.WriteRawTag(32);
output.WriteEnum((int) MaxHdcpVersion);
}
if (HasOemCryptoApiVersion) {
output.WriteRawTag(40);
output.WriteUInt32(OemCryptoApiVersion);
}
if (HasAntiRollbackUsageTable) {
output.WriteRawTag(48);
output.WriteBool(AntiRollbackUsageTable);
}
if (HasSrmVersion) {
output.WriteRawTag(56);
output.WriteUInt32(SrmVersion);
}
if (HasCanUpdateSrm) {
output.WriteRawTag(64);
output.WriteBool(CanUpdateSrm);
}
supportedCertificateKeyType_.WriteTo(ref output, _repeated_supportedCertificateKeyType_codec);
if (HasAnalogOutputCapabilities) {
output.WriteRawTag(80);
output.WriteEnum((int) AnalogOutputCapabilities);
}
if (HasCanDisableAnalogOutput) {
output.WriteRawTag(88);
output.WriteBool(CanDisableAnalogOutput);
}
if (HasResourceRatingTier) {
output.WriteRawTag(96);
output.WriteUInt32(ResourceRatingTier);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (HasClientToken) {
size += 1 + 1;
}
if (HasSessionToken) {
size += 1 + 1;
}
if (HasVideoResolutionConstraints) {
size += 1 + 1;
}
if (HasMaxHdcpVersion) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) MaxHdcpVersion);
}
if (HasOemCryptoApiVersion) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(OemCryptoApiVersion);
}
if (HasAntiRollbackUsageTable) {
size += 1 + 1;
}
if (HasSrmVersion) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(SrmVersion);
}
if (HasCanUpdateSrm) {
size += 1 + 1;
}
size += supportedCertificateKeyType_.CalculateSize(_repeated_supportedCertificateKeyType_codec);
if (HasAnalogOutputCapabilities) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) AnalogOutputCapabilities);
}
if (HasCanDisableAnalogOutput) {
size += 1 + 1;
}
if (HasResourceRatingTier) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ResourceRatingTier);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(ClientCapabilities other) {
if (other == null) {
return;
}
if (other.HasClientToken) {
ClientToken = other.ClientToken;
}
if (other.HasSessionToken) {
SessionToken = other.SessionToken;
}
if (other.HasVideoResolutionConstraints) {
VideoResolutionConstraints = other.VideoResolutionConstraints;
}
if (other.HasMaxHdcpVersion) {
MaxHdcpVersion = other.MaxHdcpVersion;
}
if (other.HasOemCryptoApiVersion) {
OemCryptoApiVersion = other.OemCryptoApiVersion;
}
if (other.HasAntiRollbackUsageTable) {
AntiRollbackUsageTable = other.AntiRollbackUsageTable;
}
if (other.HasSrmVersion) {
SrmVersion = other.SrmVersion;
}
if (other.HasCanUpdateSrm) {
CanUpdateSrm = other.CanUpdateSrm;
}
supportedCertificateKeyType_.Add(other.supportedCertificateKeyType_);
if (other.HasAnalogOutputCapabilities) {
AnalogOutputCapabilities = other.AnalogOutputCapabilities;
}
if (other.HasCanDisableAnalogOutput) {
CanDisableAnalogOutput = other.CanDisableAnalogOutput;
}
if (other.HasResourceRatingTier) {
ResourceRatingTier = other.ResourceRatingTier;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
ClientToken = input.ReadBool();
break;
}
case 16: {
SessionToken = input.ReadBool();
break;
}
case 24: {
VideoResolutionConstraints = input.ReadBool();
break;
}
case 32: {
MaxHdcpVersion = (global::AudibleUtilities.Widevine.ClientIdentification.Types.ClientCapabilities.Types.HdcpVersion) input.ReadEnum();
break;
}
case 40: {
OemCryptoApiVersion = input.ReadUInt32();
break;
}
case 48: {
AntiRollbackUsageTable = input.ReadBool();
break;
}
case 56: {
SrmVersion = input.ReadUInt32();
break;
}
case 64: {
CanUpdateSrm = input.ReadBool();
break;
}
case 74:
case 72: {
supportedCertificateKeyType_.AddEntriesFrom(input, _repeated_supportedCertificateKeyType_codec);
break;
}
case 80: {
AnalogOutputCapabilities = (global::AudibleUtilities.Widevine.ClientIdentification.Types.ClientCapabilities.Types.AnalogOutputCapabilities) input.ReadEnum();
break;
}
case 88: {
CanDisableAnalogOutput = input.ReadBool();
break;
}
case 96: {
ResourceRatingTier = input.ReadUInt32();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 8: {
ClientToken = input.ReadBool();
break;
}
case 16: {
SessionToken = input.ReadBool();
break;
}
case 24: {
VideoResolutionConstraints = input.ReadBool();
break;
}
case 32: {
MaxHdcpVersion = (global::AudibleUtilities.Widevine.ClientIdentification.Types.ClientCapabilities.Types.HdcpVersion) input.ReadEnum();
break;
}
case 40: {
OemCryptoApiVersion = input.ReadUInt32();
break;
}
case 48: {
AntiRollbackUsageTable = input.ReadBool();
break;
}
case 56: {
SrmVersion = input.ReadUInt32();
break;
}
case 64: {
CanUpdateSrm = input.ReadBool();
break;
}
case 74:
case 72: {
supportedCertificateKeyType_.AddEntriesFrom(ref input, _repeated_supportedCertificateKeyType_codec);
break;
}
case 80: {
AnalogOutputCapabilities = (global::AudibleUtilities.Widevine.ClientIdentification.Types.ClientCapabilities.Types.AnalogOutputCapabilities) input.ReadEnum();
break;
}
case 88: {
CanDisableAnalogOutput = input.ReadBool();
break;
}
case 96: {
ResourceRatingTier = input.ReadUInt32();
break;
}
}
}
}
#endif
#region Nested types
/// Container for nested types declared in the ClientCapabilities message type.
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static partial class Types {
internal enum HdcpVersion {
[pbr::OriginalName("HDCP_NONE")] HdcpNone = 0,
[pbr::OriginalName("HDCP_V1")] HdcpV1 = 1,
[pbr::OriginalName("HDCP_V2")] HdcpV2 = 2,
[pbr::OriginalName("HDCP_V2_1")] HdcpV21 = 3,
[pbr::OriginalName("HDCP_V2_2")] HdcpV22 = 4,
[pbr::OriginalName("HDCP_V2_3")] HdcpV23 = 5,
[pbr::OriginalName("HDCP_NO_DIGITAL_OUTPUT")] HdcpNoDigitalOutput = 255,
}
internal enum CertificateKeyType {
[pbr::OriginalName("RSA_2048")] Rsa2048 = 0,
[pbr::OriginalName("RSA_3072")] Rsa3072 = 1,
[pbr::OriginalName("ECC_SECP256R1")] EccSecp256R1 = 2,
[pbr::OriginalName("ECC_SECP384R1")] EccSecp384R1 = 3,
[pbr::OriginalName("ECC_SECP521R1")] EccSecp521R1 = 4,
}
internal enum AnalogOutputCapabilities {
[pbr::OriginalName("ANALOG_OUTPUT_UNKNOWN")] AnalogOutputUnknown = 0,
[pbr::OriginalName("ANALOG_OUTPUT_NONE")] AnalogOutputNone = 1,
[pbr::OriginalName("ANALOG_OUTPUT_SUPPORTED")] AnalogOutputSupported = 2,
[pbr::OriginalName("ANALOG_OUTPUT_SUPPORTS_CGMS_A")] AnalogOutputSupportsCgmsA = 3,
}
}
#endregion
}
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class ClientCredentials : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ClientCredentials());
private pb::UnknownFieldSet _unknownFields;
private int _hasBits0;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.ClientIdentification.Descriptor.NestedTypes[2]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public ClientCredentials() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public ClientCredentials(ClientCredentials other) : this() {
_hasBits0 = other._hasBits0;
type_ = other.type_;
token_ = other.token_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public ClientCredentials Clone() {
return new ClientCredentials(this);
}
/// Field number for the "type" field.
public const int TypeFieldNumber = 1;
private readonly static global::AudibleUtilities.Widevine.ClientIdentification.Types.TokenType TypeDefaultValue = global::AudibleUtilities.Widevine.ClientIdentification.Types.TokenType.Keybox;
private global::AudibleUtilities.Widevine.ClientIdentification.Types.TokenType type_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.ClientIdentification.Types.TokenType Type {
get { if ((_hasBits0 & 1) != 0) { return type_; } else { return TypeDefaultValue; } }
set {
_hasBits0 |= 1;
type_ = value;
}
}
/// Gets whether the "type" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasType {
get { return (_hasBits0 & 1) != 0; }
}
/// Clears the value of the "type" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearType() {
_hasBits0 &= ~1;
}
/// Field number for the "token" field.
public const int TokenFieldNumber = 2;
private readonly static pb::ByteString TokenDefaultValue = pb::ByteString.Empty;
private pb::ByteString token_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString Token {
get { return token_ ?? TokenDefaultValue; }
set {
token_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "token" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasToken {
get { return token_ != null; }
}
/// Clears the value of the "token" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearToken() {
token_ = null;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as ClientCredentials);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(ClientCredentials other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (Type != other.Type) return false;
if (Token != other.Token) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (HasType) hash ^= Type.GetHashCode();
if (HasToken) hash ^= Token.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (HasType) {
output.WriteRawTag(8);
output.WriteEnum((int) Type);
}
if (HasToken) {
output.WriteRawTag(18);
output.WriteBytes(Token);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (HasType) {
output.WriteRawTag(8);
output.WriteEnum((int) Type);
}
if (HasToken) {
output.WriteRawTag(18);
output.WriteBytes(Token);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (HasType) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
}
if (HasToken) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(Token);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(ClientCredentials other) {
if (other == null) {
return;
}
if (other.HasType) {
Type = other.Type;
}
if (other.HasToken) {
Token = other.Token;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
Type = (global::AudibleUtilities.Widevine.ClientIdentification.Types.TokenType) input.ReadEnum();
break;
}
case 18: {
Token = input.ReadBytes();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 8: {
Type = (global::AudibleUtilities.Widevine.ClientIdentification.Types.TokenType) input.ReadEnum();
break;
}
case 18: {
Token = input.ReadBytes();
break;
}
}
}
}
#endif
}
}
#endregion
}
///
/// EncryptedClientIdentification message used to hold ClientIdentification
/// messages encrypted for privacy purposes.
///
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class EncryptedClientIdentification : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new EncryptedClientIdentification());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.LicenseProtocolReflection.Descriptor.MessageTypes[7]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public EncryptedClientIdentification() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public EncryptedClientIdentification(EncryptedClientIdentification other) : this() {
providerId_ = other.providerId_;
serviceCertificateSerialNumber_ = other.serviceCertificateSerialNumber_;
encryptedClientId_ = other.encryptedClientId_;
encryptedClientIdIv_ = other.encryptedClientIdIv_;
encryptedPrivacyKey_ = other.encryptedPrivacyKey_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public EncryptedClientIdentification Clone() {
return new EncryptedClientIdentification(this);
}
/// Field number for the "provider_id" field.
public const int ProviderIdFieldNumber = 1;
private readonly static string ProviderIdDefaultValue = "";
private string providerId_;
///
/// Provider ID for which the ClientIdentifcation is encrypted (owner of
/// service certificate).
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public string ProviderId {
get { return providerId_ ?? ProviderIdDefaultValue; }
set {
providerId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "provider_id" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasProviderId {
get { return providerId_ != null; }
}
/// Clears the value of the "provider_id" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearProviderId() {
providerId_ = null;
}
/// Field number for the "service_certificate_serial_number" field.
public const int ServiceCertificateSerialNumberFieldNumber = 2;
private readonly static pb::ByteString ServiceCertificateSerialNumberDefaultValue = pb::ByteString.Empty;
private pb::ByteString serviceCertificateSerialNumber_;
///
/// Serial number for the service certificate for which ClientIdentification is
/// encrypted.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString ServiceCertificateSerialNumber {
get { return serviceCertificateSerialNumber_ ?? ServiceCertificateSerialNumberDefaultValue; }
set {
serviceCertificateSerialNumber_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "service_certificate_serial_number" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasServiceCertificateSerialNumber {
get { return serviceCertificateSerialNumber_ != null; }
}
/// Clears the value of the "service_certificate_serial_number" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearServiceCertificateSerialNumber() {
serviceCertificateSerialNumber_ = null;
}
/// Field number for the "encrypted_client_id" field.
public const int EncryptedClientIdFieldNumber = 3;
private readonly static pb::ByteString EncryptedClientIdDefaultValue = pb::ByteString.Empty;
private pb::ByteString encryptedClientId_;
///
/// Serialized ClientIdentification message, encrypted with the privacy key
/// using AES-128-CBC with PKCS#5 padding.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString EncryptedClientId {
get { return encryptedClientId_ ?? EncryptedClientIdDefaultValue; }
set {
encryptedClientId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "encrypted_client_id" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasEncryptedClientId {
get { return encryptedClientId_ != null; }
}
/// Clears the value of the "encrypted_client_id" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearEncryptedClientId() {
encryptedClientId_ = null;
}
/// Field number for the "encrypted_client_id_iv" field.
public const int EncryptedClientIdIvFieldNumber = 4;
private readonly static pb::ByteString EncryptedClientIdIvDefaultValue = pb::ByteString.Empty;
private pb::ByteString encryptedClientIdIv_;
///
/// Initialization vector needed to decrypt encrypted_client_id.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString EncryptedClientIdIv {
get { return encryptedClientIdIv_ ?? EncryptedClientIdIvDefaultValue; }
set {
encryptedClientIdIv_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "encrypted_client_id_iv" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasEncryptedClientIdIv {
get { return encryptedClientIdIv_ != null; }
}
/// Clears the value of the "encrypted_client_id_iv" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearEncryptedClientIdIv() {
encryptedClientIdIv_ = null;
}
/// Field number for the "encrypted_privacy_key" field.
public const int EncryptedPrivacyKeyFieldNumber = 5;
private readonly static pb::ByteString EncryptedPrivacyKeyDefaultValue = pb::ByteString.Empty;
private pb::ByteString encryptedPrivacyKey_;
///
/// AES-128 privacy key, encrypted with the service public key using RSA-OAEP.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString EncryptedPrivacyKey {
get { return encryptedPrivacyKey_ ?? EncryptedPrivacyKeyDefaultValue; }
set {
encryptedPrivacyKey_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "encrypted_privacy_key" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasEncryptedPrivacyKey {
get { return encryptedPrivacyKey_ != null; }
}
/// Clears the value of the "encrypted_privacy_key" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearEncryptedPrivacyKey() {
encryptedPrivacyKey_ = null;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as EncryptedClientIdentification);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(EncryptedClientIdentification other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (ProviderId != other.ProviderId) return false;
if (ServiceCertificateSerialNumber != other.ServiceCertificateSerialNumber) return false;
if (EncryptedClientId != other.EncryptedClientId) return false;
if (EncryptedClientIdIv != other.EncryptedClientIdIv) return false;
if (EncryptedPrivacyKey != other.EncryptedPrivacyKey) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (HasProviderId) hash ^= ProviderId.GetHashCode();
if (HasServiceCertificateSerialNumber) hash ^= ServiceCertificateSerialNumber.GetHashCode();
if (HasEncryptedClientId) hash ^= EncryptedClientId.GetHashCode();
if (HasEncryptedClientIdIv) hash ^= EncryptedClientIdIv.GetHashCode();
if (HasEncryptedPrivacyKey) hash ^= EncryptedPrivacyKey.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (HasProviderId) {
output.WriteRawTag(10);
output.WriteString(ProviderId);
}
if (HasServiceCertificateSerialNumber) {
output.WriteRawTag(18);
output.WriteBytes(ServiceCertificateSerialNumber);
}
if (HasEncryptedClientId) {
output.WriteRawTag(26);
output.WriteBytes(EncryptedClientId);
}
if (HasEncryptedClientIdIv) {
output.WriteRawTag(34);
output.WriteBytes(EncryptedClientIdIv);
}
if (HasEncryptedPrivacyKey) {
output.WriteRawTag(42);
output.WriteBytes(EncryptedPrivacyKey);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (HasProviderId) {
output.WriteRawTag(10);
output.WriteString(ProviderId);
}
if (HasServiceCertificateSerialNumber) {
output.WriteRawTag(18);
output.WriteBytes(ServiceCertificateSerialNumber);
}
if (HasEncryptedClientId) {
output.WriteRawTag(26);
output.WriteBytes(EncryptedClientId);
}
if (HasEncryptedClientIdIv) {
output.WriteRawTag(34);
output.WriteBytes(EncryptedClientIdIv);
}
if (HasEncryptedPrivacyKey) {
output.WriteRawTag(42);
output.WriteBytes(EncryptedPrivacyKey);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (HasProviderId) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(ProviderId);
}
if (HasServiceCertificateSerialNumber) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(ServiceCertificateSerialNumber);
}
if (HasEncryptedClientId) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(EncryptedClientId);
}
if (HasEncryptedClientIdIv) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(EncryptedClientIdIv);
}
if (HasEncryptedPrivacyKey) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(EncryptedPrivacyKey);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(EncryptedClientIdentification other) {
if (other == null) {
return;
}
if (other.HasProviderId) {
ProviderId = other.ProviderId;
}
if (other.HasServiceCertificateSerialNumber) {
ServiceCertificateSerialNumber = other.ServiceCertificateSerialNumber;
}
if (other.HasEncryptedClientId) {
EncryptedClientId = other.EncryptedClientId;
}
if (other.HasEncryptedClientIdIv) {
EncryptedClientIdIv = other.EncryptedClientIdIv;
}
if (other.HasEncryptedPrivacyKey) {
EncryptedPrivacyKey = other.EncryptedPrivacyKey;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
ProviderId = input.ReadString();
break;
}
case 18: {
ServiceCertificateSerialNumber = input.ReadBytes();
break;
}
case 26: {
EncryptedClientId = input.ReadBytes();
break;
}
case 34: {
EncryptedClientIdIv = input.ReadBytes();
break;
}
case 42: {
EncryptedPrivacyKey = input.ReadBytes();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 10: {
ProviderId = input.ReadString();
break;
}
case 18: {
ServiceCertificateSerialNumber = input.ReadBytes();
break;
}
case 26: {
EncryptedClientId = input.ReadBytes();
break;
}
case 34: {
EncryptedClientIdIv = input.ReadBytes();
break;
}
case 42: {
EncryptedPrivacyKey = input.ReadBytes();
break;
}
}
}
}
#endif
}
///
/// DRM certificate definition for user devices, intermediate, service, and root
/// certificates.
///
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class DrmCertificate : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new DrmCertificate());
private pb::UnknownFieldSet _unknownFields;
private int _hasBits0;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.LicenseProtocolReflection.Descriptor.MessageTypes[8]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public DrmCertificate() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public DrmCertificate(DrmCertificate other) : this() {
_hasBits0 = other._hasBits0;
type_ = other.type_;
serialNumber_ = other.serialNumber_;
creationTimeSeconds_ = other.creationTimeSeconds_;
expirationTimeSeconds_ = other.expirationTimeSeconds_;
publicKey_ = other.publicKey_;
systemId_ = other.systemId_;
testDeviceDeprecated_ = other.testDeviceDeprecated_;
providerId_ = other.providerId_;
serviceTypes_ = other.serviceTypes_.Clone();
algorithm_ = other.algorithm_;
rotId_ = other.rotId_;
encryptionKey_ = other.encryptionKey_ != null ? other.encryptionKey_.Clone() : null;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public DrmCertificate Clone() {
return new DrmCertificate(this);
}
/// Field number for the "type" field.
public const int TypeFieldNumber = 1;
private readonly static global::AudibleUtilities.Widevine.DrmCertificate.Types.Type TypeDefaultValue = global::AudibleUtilities.Widevine.DrmCertificate.Types.Type.Root;
private global::AudibleUtilities.Widevine.DrmCertificate.Types.Type type_;
///
/// Type of certificate. Required.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.DrmCertificate.Types.Type Type {
get { if ((_hasBits0 & 1) != 0) { return type_; } else { return TypeDefaultValue; } }
set {
_hasBits0 |= 1;
type_ = value;
}
}
/// Gets whether the "type" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasType {
get { return (_hasBits0 & 1) != 0; }
}
/// Clears the value of the "type" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearType() {
_hasBits0 &= ~1;
}
/// Field number for the "serial_number" field.
public const int SerialNumberFieldNumber = 2;
private readonly static pb::ByteString SerialNumberDefaultValue = pb::ByteString.Empty;
private pb::ByteString serialNumber_;
///
/// 128-bit globally unique serial number of certificate.
/// Value is 0 for root certificate. Required.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString SerialNumber {
get { return serialNumber_ ?? SerialNumberDefaultValue; }
set {
serialNumber_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "serial_number" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasSerialNumber {
get { return serialNumber_ != null; }
}
/// Clears the value of the "serial_number" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearSerialNumber() {
serialNumber_ = null;
}
/// Field number for the "creation_time_seconds" field.
public const int CreationTimeSecondsFieldNumber = 3;
private readonly static uint CreationTimeSecondsDefaultValue = 0;
private uint creationTimeSeconds_;
///
/// POSIX time, in seconds, when the certificate was created. Required.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public uint CreationTimeSeconds {
get { if ((_hasBits0 & 2) != 0) { return creationTimeSeconds_; } else { return CreationTimeSecondsDefaultValue; } }
set {
_hasBits0 |= 2;
creationTimeSeconds_ = value;
}
}
/// Gets whether the "creation_time_seconds" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasCreationTimeSeconds {
get { return (_hasBits0 & 2) != 0; }
}
/// Clears the value of the "creation_time_seconds" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearCreationTimeSeconds() {
_hasBits0 &= ~2;
}
/// Field number for the "expiration_time_seconds" field.
public const int ExpirationTimeSecondsFieldNumber = 12;
private readonly static uint ExpirationTimeSecondsDefaultValue = 0;
private uint expirationTimeSeconds_;
///
/// POSIX time, in seconds, when the certificate should expire. Value of zero
/// denotes indefinite expiry time. For more information on limited lifespan
/// DRM certificates see (go/limited-lifespan-drm-certificates).
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public uint ExpirationTimeSeconds {
get { if ((_hasBits0 & 32) != 0) { return expirationTimeSeconds_; } else { return ExpirationTimeSecondsDefaultValue; } }
set {
_hasBits0 |= 32;
expirationTimeSeconds_ = value;
}
}
/// Gets whether the "expiration_time_seconds" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasExpirationTimeSeconds {
get { return (_hasBits0 & 32) != 0; }
}
/// Clears the value of the "expiration_time_seconds" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearExpirationTimeSeconds() {
_hasBits0 &= ~32;
}
/// Field number for the "public_key" field.
public const int PublicKeyFieldNumber = 4;
private readonly static pb::ByteString PublicKeyDefaultValue = pb::ByteString.Empty;
private pb::ByteString publicKey_;
///
/// Device public key. PKCS#1 ASN.1 DER-encoded. Required.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString PublicKey {
get { return publicKey_ ?? PublicKeyDefaultValue; }
set {
publicKey_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "public_key" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasPublicKey {
get { return publicKey_ != null; }
}
/// Clears the value of the "public_key" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearPublicKey() {
publicKey_ = null;
}
/// Field number for the "system_id" field.
public const int SystemIdFieldNumber = 5;
private readonly static uint SystemIdDefaultValue = 0;
private uint systemId_;
///
/// Widevine system ID for the device. Required for intermediate and
/// user device certificates.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public uint SystemId {
get { if ((_hasBits0 & 4) != 0) { return systemId_; } else { return SystemIdDefaultValue; } }
set {
_hasBits0 |= 4;
systemId_ = value;
}
}
/// Gets whether the "system_id" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasSystemId {
get { return (_hasBits0 & 4) != 0; }
}
/// Clears the value of the "system_id" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearSystemId() {
_hasBits0 &= ~4;
}
/// Field number for the "test_device_deprecated" field.
public const int TestDeviceDeprecatedFieldNumber = 6;
private readonly static bool TestDeviceDeprecatedDefaultValue = false;
private bool testDeviceDeprecated_;
///
/// Deprecated field, which used to indicate whether the device was a test
/// (non-production) device. The test_device field in ProvisionedDeviceInfo
/// below should be observed instead.
///
[global::System.ObsoleteAttribute]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool TestDeviceDeprecated {
get { if ((_hasBits0 & 8) != 0) { return testDeviceDeprecated_; } else { return TestDeviceDeprecatedDefaultValue; } }
set {
_hasBits0 |= 8;
testDeviceDeprecated_ = value;
}
}
/// Gets whether the "test_device_deprecated" field is set
[global::System.ObsoleteAttribute]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasTestDeviceDeprecated {
get { return (_hasBits0 & 8) != 0; }
}
/// Clears the value of the "test_device_deprecated" field
[global::System.ObsoleteAttribute]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearTestDeviceDeprecated() {
_hasBits0 &= ~8;
}
/// Field number for the "provider_id" field.
public const int ProviderIdFieldNumber = 7;
private readonly static string ProviderIdDefaultValue = "";
private string providerId_;
///
/// Service identifier (web origin) for the provider which owns the
/// certificate. Required for service and provisioner certificates.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public string ProviderId {
get { return providerId_ ?? ProviderIdDefaultValue; }
set {
providerId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "provider_id" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasProviderId {
get { return providerId_ != null; }
}
/// Clears the value of the "provider_id" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearProviderId() {
providerId_ = null;
}
/// Field number for the "service_types" field.
public const int ServiceTypesFieldNumber = 8;
private static readonly pb::FieldCodec _repeated_serviceTypes_codec
= pb::FieldCodec.ForEnum(64, x => (int) x, x => (global::AudibleUtilities.Widevine.DrmCertificate.Types.ServiceType) x);
private readonly pbc::RepeatedField serviceTypes_ = new pbc::RepeatedField();
///
/// This field is used only when type = SERVICE to specify which SDK uses
/// service certificate. This repeated field is treated as a set. A certificate
/// may be used for the specified service SDK if the appropriate ServiceType
/// is specified in this field.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pbc::RepeatedField ServiceTypes {
get { return serviceTypes_; }
}
/// Field number for the "algorithm" field.
public const int AlgorithmFieldNumber = 9;
private readonly static global::AudibleUtilities.Widevine.DrmCertificate.Types.Algorithm AlgorithmDefaultValue = global::AudibleUtilities.Widevine.DrmCertificate.Types.Algorithm.Rsa;
private global::AudibleUtilities.Widevine.DrmCertificate.Types.Algorithm algorithm_;
///
/// Required. The algorithm field contains the curve used to create the
/// |public_key| if algorithm is one of the ECC types.
/// The |algorithm| is used for both to determine the if the certificate is ECC
/// or RSA. The |algorithm| also specifies the parameters that were used to
/// create |public_key| and are used to create an ephemeral session key.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.DrmCertificate.Types.Algorithm Algorithm {
get { if ((_hasBits0 & 16) != 0) { return algorithm_; } else { return AlgorithmDefaultValue; } }
set {
_hasBits0 |= 16;
algorithm_ = value;
}
}
/// Gets whether the "algorithm" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasAlgorithm {
get { return (_hasBits0 & 16) != 0; }
}
/// Clears the value of the "algorithm" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearAlgorithm() {
_hasBits0 &= ~16;
}
/// Field number for the "rot_id" field.
public const int RotIdFieldNumber = 10;
private readonly static pb::ByteString RotIdDefaultValue = pb::ByteString.Empty;
private pb::ByteString rotId_;
///
/// Optional. May be present in DEVICE certificate types. This is the root
/// of trust identifier that holds an encrypted value that identifies the
/// keybox or other root of trust that was used to provision a DEVICE drm
/// certificate.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString RotId {
get { return rotId_ ?? RotIdDefaultValue; }
set {
rotId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "rot_id" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasRotId {
get { return rotId_ != null; }
}
/// Clears the value of the "rot_id" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearRotId() {
rotId_ = null;
}
/// Field number for the "encryption_key" field.
public const int EncryptionKeyFieldNumber = 11;
private global::AudibleUtilities.Widevine.DrmCertificate.Types.EncryptionKey encryptionKey_;
///
/// Optional. May be present in devices that explicitly support dual keys. When
/// present the |public_key| is used for verification of received license
/// request messages.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.DrmCertificate.Types.EncryptionKey EncryptionKey {
get { return encryptionKey_; }
set {
encryptionKey_ = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as DrmCertificate);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(DrmCertificate other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (Type != other.Type) return false;
if (SerialNumber != other.SerialNumber) return false;
if (CreationTimeSeconds != other.CreationTimeSeconds) return false;
if (ExpirationTimeSeconds != other.ExpirationTimeSeconds) return false;
if (PublicKey != other.PublicKey) return false;
if (SystemId != other.SystemId) return false;
if (TestDeviceDeprecated != other.TestDeviceDeprecated) return false;
if (ProviderId != other.ProviderId) return false;
if(!serviceTypes_.Equals(other.serviceTypes_)) return false;
if (Algorithm != other.Algorithm) return false;
if (RotId != other.RotId) return false;
if (!object.Equals(EncryptionKey, other.EncryptionKey)) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (HasType) hash ^= Type.GetHashCode();
if (HasSerialNumber) hash ^= SerialNumber.GetHashCode();
if (HasCreationTimeSeconds) hash ^= CreationTimeSeconds.GetHashCode();
if (HasExpirationTimeSeconds) hash ^= ExpirationTimeSeconds.GetHashCode();
if (HasPublicKey) hash ^= PublicKey.GetHashCode();
if (HasSystemId) hash ^= SystemId.GetHashCode();
if (HasTestDeviceDeprecated) hash ^= TestDeviceDeprecated.GetHashCode();
if (HasProviderId) hash ^= ProviderId.GetHashCode();
hash ^= serviceTypes_.GetHashCode();
if (HasAlgorithm) hash ^= Algorithm.GetHashCode();
if (HasRotId) hash ^= RotId.GetHashCode();
if (encryptionKey_ != null) hash ^= EncryptionKey.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (HasType) {
output.WriteRawTag(8);
output.WriteEnum((int) Type);
}
if (HasSerialNumber) {
output.WriteRawTag(18);
output.WriteBytes(SerialNumber);
}
if (HasCreationTimeSeconds) {
output.WriteRawTag(24);
output.WriteUInt32(CreationTimeSeconds);
}
if (HasPublicKey) {
output.WriteRawTag(34);
output.WriteBytes(PublicKey);
}
if (HasSystemId) {
output.WriteRawTag(40);
output.WriteUInt32(SystemId);
}
if (HasTestDeviceDeprecated) {
output.WriteRawTag(48);
output.WriteBool(TestDeviceDeprecated);
}
if (HasProviderId) {
output.WriteRawTag(58);
output.WriteString(ProviderId);
}
serviceTypes_.WriteTo(output, _repeated_serviceTypes_codec);
if (HasAlgorithm) {
output.WriteRawTag(72);
output.WriteEnum((int) Algorithm);
}
if (HasRotId) {
output.WriteRawTag(82);
output.WriteBytes(RotId);
}
if (encryptionKey_ != null) {
output.WriteRawTag(90);
output.WriteMessage(EncryptionKey);
}
if (HasExpirationTimeSeconds) {
output.WriteRawTag(96);
output.WriteUInt32(ExpirationTimeSeconds);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (HasType) {
output.WriteRawTag(8);
output.WriteEnum((int) Type);
}
if (HasSerialNumber) {
output.WriteRawTag(18);
output.WriteBytes(SerialNumber);
}
if (HasCreationTimeSeconds) {
output.WriteRawTag(24);
output.WriteUInt32(CreationTimeSeconds);
}
if (HasPublicKey) {
output.WriteRawTag(34);
output.WriteBytes(PublicKey);
}
if (HasSystemId) {
output.WriteRawTag(40);
output.WriteUInt32(SystemId);
}
if (HasTestDeviceDeprecated) {
output.WriteRawTag(48);
output.WriteBool(TestDeviceDeprecated);
}
if (HasProviderId) {
output.WriteRawTag(58);
output.WriteString(ProviderId);
}
serviceTypes_.WriteTo(ref output, _repeated_serviceTypes_codec);
if (HasAlgorithm) {
output.WriteRawTag(72);
output.WriteEnum((int) Algorithm);
}
if (HasRotId) {
output.WriteRawTag(82);
output.WriteBytes(RotId);
}
if (encryptionKey_ != null) {
output.WriteRawTag(90);
output.WriteMessage(EncryptionKey);
}
if (HasExpirationTimeSeconds) {
output.WriteRawTag(96);
output.WriteUInt32(ExpirationTimeSeconds);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (HasType) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
}
if (HasSerialNumber) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(SerialNumber);
}
if (HasCreationTimeSeconds) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(CreationTimeSeconds);
}
if (HasExpirationTimeSeconds) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ExpirationTimeSeconds);
}
if (HasPublicKey) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(PublicKey);
}
if (HasSystemId) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(SystemId);
}
if (HasTestDeviceDeprecated) {
size += 1 + 1;
}
if (HasProviderId) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(ProviderId);
}
size += serviceTypes_.CalculateSize(_repeated_serviceTypes_codec);
if (HasAlgorithm) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Algorithm);
}
if (HasRotId) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(RotId);
}
if (encryptionKey_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(EncryptionKey);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(DrmCertificate other) {
if (other == null) {
return;
}
if (other.HasType) {
Type = other.Type;
}
if (other.HasSerialNumber) {
SerialNumber = other.SerialNumber;
}
if (other.HasCreationTimeSeconds) {
CreationTimeSeconds = other.CreationTimeSeconds;
}
if (other.HasExpirationTimeSeconds) {
ExpirationTimeSeconds = other.ExpirationTimeSeconds;
}
if (other.HasPublicKey) {
PublicKey = other.PublicKey;
}
if (other.HasSystemId) {
SystemId = other.SystemId;
}
if (other.HasTestDeviceDeprecated) {
TestDeviceDeprecated = other.TestDeviceDeprecated;
}
if (other.HasProviderId) {
ProviderId = other.ProviderId;
}
serviceTypes_.Add(other.serviceTypes_);
if (other.HasAlgorithm) {
Algorithm = other.Algorithm;
}
if (other.HasRotId) {
RotId = other.RotId;
}
if (other.encryptionKey_ != null) {
if (encryptionKey_ == null) {
EncryptionKey = new global::AudibleUtilities.Widevine.DrmCertificate.Types.EncryptionKey();
}
EncryptionKey.MergeFrom(other.EncryptionKey);
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
Type = (global::AudibleUtilities.Widevine.DrmCertificate.Types.Type) input.ReadEnum();
break;
}
case 18: {
SerialNumber = input.ReadBytes();
break;
}
case 24: {
CreationTimeSeconds = input.ReadUInt32();
break;
}
case 34: {
PublicKey = input.ReadBytes();
break;
}
case 40: {
SystemId = input.ReadUInt32();
break;
}
case 48: {
TestDeviceDeprecated = input.ReadBool();
break;
}
case 58: {
ProviderId = input.ReadString();
break;
}
case 66:
case 64: {
serviceTypes_.AddEntriesFrom(input, _repeated_serviceTypes_codec);
break;
}
case 72: {
Algorithm = (global::AudibleUtilities.Widevine.DrmCertificate.Types.Algorithm) input.ReadEnum();
break;
}
case 82: {
RotId = input.ReadBytes();
break;
}
case 90: {
if (encryptionKey_ == null) {
EncryptionKey = new global::AudibleUtilities.Widevine.DrmCertificate.Types.EncryptionKey();
}
input.ReadMessage(EncryptionKey);
break;
}
case 96: {
ExpirationTimeSeconds = input.ReadUInt32();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 8: {
Type = (global::AudibleUtilities.Widevine.DrmCertificate.Types.Type) input.ReadEnum();
break;
}
case 18: {
SerialNumber = input.ReadBytes();
break;
}
case 24: {
CreationTimeSeconds = input.ReadUInt32();
break;
}
case 34: {
PublicKey = input.ReadBytes();
break;
}
case 40: {
SystemId = input.ReadUInt32();
break;
}
case 48: {
TestDeviceDeprecated = input.ReadBool();
break;
}
case 58: {
ProviderId = input.ReadString();
break;
}
case 66:
case 64: {
serviceTypes_.AddEntriesFrom(ref input, _repeated_serviceTypes_codec);
break;
}
case 72: {
Algorithm = (global::AudibleUtilities.Widevine.DrmCertificate.Types.Algorithm) input.ReadEnum();
break;
}
case 82: {
RotId = input.ReadBytes();
break;
}
case 90: {
if (encryptionKey_ == null) {
EncryptionKey = new global::AudibleUtilities.Widevine.DrmCertificate.Types.EncryptionKey();
}
input.ReadMessage(EncryptionKey);
break;
}
case 96: {
ExpirationTimeSeconds = input.ReadUInt32();
break;
}
}
}
}
#endif
#region Nested types
/// Container for nested types declared in the DrmCertificate message type.
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static partial class Types {
internal enum Type {
///
/// ProtoBestPractices: ignore.
///
[pbr::OriginalName("ROOT")] Root = 0,
[pbr::OriginalName("DEVICE_MODEL")] DeviceModel = 1,
[pbr::OriginalName("DEVICE")] Device = 2,
[pbr::OriginalName("SERVICE")] Service = 3,
[pbr::OriginalName("PROVISIONER")] Provisioner = 4,
}
internal enum ServiceType {
[pbr::OriginalName("UNKNOWN_SERVICE_TYPE")] UnknownServiceType = 0,
[pbr::OriginalName("LICENSE_SERVER_SDK")] LicenseServerSdk = 1,
[pbr::OriginalName("LICENSE_SERVER_PROXY_SDK")] LicenseServerProxySdk = 2,
[pbr::OriginalName("PROVISIONING_SDK")] ProvisioningSdk = 3,
[pbr::OriginalName("CAS_PROXY_SDK")] CasProxySdk = 4,
}
internal enum Algorithm {
[pbr::OriginalName("UNKNOWN_ALGORITHM")] UnknownAlgorithm = 0,
[pbr::OriginalName("RSA")] Rsa = 1,
[pbr::OriginalName("ECC_SECP256R1")] EccSecp256R1 = 2,
[pbr::OriginalName("ECC_SECP384R1")] EccSecp384R1 = 3,
[pbr::OriginalName("ECC_SECP521R1")] EccSecp521R1 = 4,
}
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class EncryptionKey : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new EncryptionKey());
private pb::UnknownFieldSet _unknownFields;
private int _hasBits0;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.DrmCertificate.Descriptor.NestedTypes[0]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public EncryptionKey() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public EncryptionKey(EncryptionKey other) : this() {
_hasBits0 = other._hasBits0;
publicKey_ = other.publicKey_;
algorithm_ = other.algorithm_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public EncryptionKey Clone() {
return new EncryptionKey(this);
}
/// Field number for the "public_key" field.
public const int PublicKeyFieldNumber = 1;
private readonly static pb::ByteString PublicKeyDefaultValue = pb::ByteString.Empty;
private pb::ByteString publicKey_;
///
/// Device public key. PKCS#1 ASN.1 DER-encoded. Required.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString PublicKey {
get { return publicKey_ ?? PublicKeyDefaultValue; }
set {
publicKey_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "public_key" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasPublicKey {
get { return publicKey_ != null; }
}
/// Clears the value of the "public_key" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearPublicKey() {
publicKey_ = null;
}
/// Field number for the "algorithm" field.
public const int AlgorithmFieldNumber = 2;
private readonly static global::AudibleUtilities.Widevine.DrmCertificate.Types.Algorithm AlgorithmDefaultValue = global::AudibleUtilities.Widevine.DrmCertificate.Types.Algorithm.Rsa;
private global::AudibleUtilities.Widevine.DrmCertificate.Types.Algorithm algorithm_;
///
/// Required. The algorithm field contains the curve used to create the
/// |public_key| if algorithm is one of the ECC types.
/// The |algorithm| is used for both to determine the if the certificate is
/// ECC or RSA. The |algorithm| also specifies the parameters that were used
/// to create |public_key| and are used to create an ephemeral session key.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.DrmCertificate.Types.Algorithm Algorithm {
get { if ((_hasBits0 & 1) != 0) { return algorithm_; } else { return AlgorithmDefaultValue; } }
set {
_hasBits0 |= 1;
algorithm_ = value;
}
}
/// Gets whether the "algorithm" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasAlgorithm {
get { return (_hasBits0 & 1) != 0; }
}
/// Clears the value of the "algorithm" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearAlgorithm() {
_hasBits0 &= ~1;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as EncryptionKey);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(EncryptionKey other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (PublicKey != other.PublicKey) return false;
if (Algorithm != other.Algorithm) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (HasPublicKey) hash ^= PublicKey.GetHashCode();
if (HasAlgorithm) hash ^= Algorithm.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (HasPublicKey) {
output.WriteRawTag(10);
output.WriteBytes(PublicKey);
}
if (HasAlgorithm) {
output.WriteRawTag(16);
output.WriteEnum((int) Algorithm);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (HasPublicKey) {
output.WriteRawTag(10);
output.WriteBytes(PublicKey);
}
if (HasAlgorithm) {
output.WriteRawTag(16);
output.WriteEnum((int) Algorithm);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (HasPublicKey) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(PublicKey);
}
if (HasAlgorithm) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Algorithm);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(EncryptionKey other) {
if (other == null) {
return;
}
if (other.HasPublicKey) {
PublicKey = other.PublicKey;
}
if (other.HasAlgorithm) {
Algorithm = other.Algorithm;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
PublicKey = input.ReadBytes();
break;
}
case 16: {
Algorithm = (global::AudibleUtilities.Widevine.DrmCertificate.Types.Algorithm) input.ReadEnum();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 10: {
PublicKey = input.ReadBytes();
break;
}
case 16: {
Algorithm = (global::AudibleUtilities.Widevine.DrmCertificate.Types.Algorithm) input.ReadEnum();
break;
}
}
}
}
#endif
}
}
#endregion
}
///
/// DrmCertificate signed by a higher (CA) DRM certificate.
///
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class SignedDrmCertificate : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SignedDrmCertificate());
private pb::UnknownFieldSet _unknownFields;
private int _hasBits0;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.LicenseProtocolReflection.Descriptor.MessageTypes[9]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public SignedDrmCertificate() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public SignedDrmCertificate(SignedDrmCertificate other) : this() {
_hasBits0 = other._hasBits0;
drmCertificate_ = other.drmCertificate_;
signature_ = other.signature_;
signer_ = other.signer_ != null ? other.signer_.Clone() : null;
hashAlgorithm_ = other.hashAlgorithm_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public SignedDrmCertificate Clone() {
return new SignedDrmCertificate(this);
}
/// Field number for the "drm_certificate" field.
public const int DrmCertificateFieldNumber = 1;
private readonly static pb::ByteString DrmCertificateDefaultValue = pb::ByteString.Empty;
private pb::ByteString drmCertificate_;
///
/// Serialized certificate. Required.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString DrmCertificate {
get { return drmCertificate_ ?? DrmCertificateDefaultValue; }
set {
drmCertificate_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "drm_certificate" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasDrmCertificate {
get { return drmCertificate_ != null; }
}
/// Clears the value of the "drm_certificate" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearDrmCertificate() {
drmCertificate_ = null;
}
/// Field number for the "signature" field.
public const int SignatureFieldNumber = 2;
private readonly static pb::ByteString SignatureDefaultValue = pb::ByteString.Empty;
private pb::ByteString signature_;
///
/// Signature of certificate. Signed with root or intermediate
/// certificate specified below. Required.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString Signature {
get { return signature_ ?? SignatureDefaultValue; }
set {
signature_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "signature" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasSignature {
get { return signature_ != null; }
}
/// Clears the value of the "signature" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearSignature() {
signature_ = null;
}
/// Field number for the "signer" field.
public const int SignerFieldNumber = 3;
private global::AudibleUtilities.Widevine.SignedDrmCertificate signer_;
///
/// SignedDrmCertificate used to sign this certificate.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.SignedDrmCertificate Signer {
get { return signer_; }
set {
signer_ = value;
}
}
/// Field number for the "hash_algorithm" field.
public const int HashAlgorithmFieldNumber = 4;
private readonly static global::AudibleUtilities.Widevine.HashAlgorithmProto HashAlgorithmDefaultValue = global::AudibleUtilities.Widevine.HashAlgorithmProto.HashAlgorithmUnspecified;
private global::AudibleUtilities.Widevine.HashAlgorithmProto hashAlgorithm_;
///
/// Optional field that indicates the hash algorithm used in signature scheme.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.HashAlgorithmProto HashAlgorithm {
get { if ((_hasBits0 & 1) != 0) { return hashAlgorithm_; } else { return HashAlgorithmDefaultValue; } }
set {
_hasBits0 |= 1;
hashAlgorithm_ = value;
}
}
/// Gets whether the "hash_algorithm" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasHashAlgorithm {
get { return (_hasBits0 & 1) != 0; }
}
/// Clears the value of the "hash_algorithm" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearHashAlgorithm() {
_hasBits0 &= ~1;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as SignedDrmCertificate);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(SignedDrmCertificate other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (DrmCertificate != other.DrmCertificate) return false;
if (Signature != other.Signature) return false;
if (!object.Equals(Signer, other.Signer)) return false;
if (HashAlgorithm != other.HashAlgorithm) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (HasDrmCertificate) hash ^= DrmCertificate.GetHashCode();
if (HasSignature) hash ^= Signature.GetHashCode();
if (signer_ != null) hash ^= Signer.GetHashCode();
if (HasHashAlgorithm) hash ^= HashAlgorithm.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (HasDrmCertificate) {
output.WriteRawTag(10);
output.WriteBytes(DrmCertificate);
}
if (HasSignature) {
output.WriteRawTag(18);
output.WriteBytes(Signature);
}
if (signer_ != null) {
output.WriteRawTag(26);
output.WriteMessage(Signer);
}
if (HasHashAlgorithm) {
output.WriteRawTag(32);
output.WriteEnum((int) HashAlgorithm);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (HasDrmCertificate) {
output.WriteRawTag(10);
output.WriteBytes(DrmCertificate);
}
if (HasSignature) {
output.WriteRawTag(18);
output.WriteBytes(Signature);
}
if (signer_ != null) {
output.WriteRawTag(26);
output.WriteMessage(Signer);
}
if (HasHashAlgorithm) {
output.WriteRawTag(32);
output.WriteEnum((int) HashAlgorithm);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (HasDrmCertificate) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(DrmCertificate);
}
if (HasSignature) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(Signature);
}
if (signer_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(Signer);
}
if (HasHashAlgorithm) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) HashAlgorithm);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(SignedDrmCertificate other) {
if (other == null) {
return;
}
if (other.HasDrmCertificate) {
DrmCertificate = other.DrmCertificate;
}
if (other.HasSignature) {
Signature = other.Signature;
}
if (other.signer_ != null) {
if (signer_ == null) {
Signer = new global::AudibleUtilities.Widevine.SignedDrmCertificate();
}
Signer.MergeFrom(other.Signer);
}
if (other.HasHashAlgorithm) {
HashAlgorithm = other.HashAlgorithm;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
DrmCertificate = input.ReadBytes();
break;
}
case 18: {
Signature = input.ReadBytes();
break;
}
case 26: {
if (signer_ == null) {
Signer = new global::AudibleUtilities.Widevine.SignedDrmCertificate();
}
input.ReadMessage(Signer);
break;
}
case 32: {
HashAlgorithm = (global::AudibleUtilities.Widevine.HashAlgorithmProto) input.ReadEnum();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 10: {
DrmCertificate = input.ReadBytes();
break;
}
case 18: {
Signature = input.ReadBytes();
break;
}
case 26: {
if (signer_ == null) {
Signer = new global::AudibleUtilities.Widevine.SignedDrmCertificate();
}
input.ReadMessage(Signer);
break;
}
case 32: {
HashAlgorithm = (global::AudibleUtilities.Widevine.HashAlgorithmProto) input.ReadEnum();
break;
}
}
}
}
#endif
}
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class WidevinePsshData : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new WidevinePsshData());
private pb::UnknownFieldSet _unknownFields;
private int _hasBits0;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.LicenseProtocolReflection.Descriptor.MessageTypes[10]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public WidevinePsshData() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public WidevinePsshData(WidevinePsshData other) : this() {
_hasBits0 = other._hasBits0;
keyIds_ = other.keyIds_.Clone();
contentId_ = other.contentId_;
cryptoPeriodIndex_ = other.cryptoPeriodIndex_;
protectionScheme_ = other.protectionScheme_;
cryptoPeriodSeconds_ = other.cryptoPeriodSeconds_;
type_ = other.type_;
keySequence_ = other.keySequence_;
groupIds_ = other.groupIds_.Clone();
entitledKeys_ = other.entitledKeys_.Clone();
videoFeature_ = other.videoFeature_;
algorithm_ = other.algorithm_;
provider_ = other.provider_;
trackType_ = other.trackType_;
policy_ = other.policy_;
groupedLicense_ = other.groupedLicense_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public WidevinePsshData Clone() {
return new WidevinePsshData(this);
}
/// Field number for the "key_ids" field.
public const int KeyIdsFieldNumber = 2;
private static readonly pb::FieldCodec _repeated_keyIds_codec
= pb::FieldCodec.ForBytes(18);
private readonly pbc::RepeatedField keyIds_ = new pbc::RepeatedField();
///
/// Entitlement or content key IDs. Can onnly present in SINGLE or ENTITLEMENT
/// PSSHs. May be repeated to facilitate delivery of multiple keys in a
/// single license. Cannot be used in conjunction with content_id or
/// group_ids, which are the preferred mechanism.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pbc::RepeatedField KeyIds {
get { return keyIds_; }
}
/// Field number for the "content_id" field.
public const int ContentIdFieldNumber = 4;
private readonly static pb::ByteString ContentIdDefaultValue = pb::ByteString.Empty;
private pb::ByteString contentId_;
///
/// Content identifier which may map to multiple entitlement or content key
/// IDs to facilitate the delivery of multiple keys in a single license.
/// Cannot be present in conjunction with key_ids, but if used must be in all
/// PSSHs.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString ContentId {
get { return contentId_ ?? ContentIdDefaultValue; }
set {
contentId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "content_id" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasContentId {
get { return contentId_ != null; }
}
/// Clears the value of the "content_id" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearContentId() {
contentId_ = null;
}
/// Field number for the "crypto_period_index" field.
public const int CryptoPeriodIndexFieldNumber = 7;
private readonly static uint CryptoPeriodIndexDefaultValue = 0;
private uint cryptoPeriodIndex_;
///
/// Crypto period index, for media using key rotation. Always corresponds to
/// The content key period. This means that if using entitlement licensing
/// the ENTITLED_KEY PSSHs will have sequential crypto_period_index's, whereas
/// the ENTITELEMENT PSSHs will have gaps in the sequence. Required if doing
/// key rotation.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public uint CryptoPeriodIndex {
get { if ((_hasBits0 & 2) != 0) { return cryptoPeriodIndex_; } else { return CryptoPeriodIndexDefaultValue; } }
set {
_hasBits0 |= 2;
cryptoPeriodIndex_ = value;
}
}
/// Gets whether the "crypto_period_index" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasCryptoPeriodIndex {
get { return (_hasBits0 & 2) != 0; }
}
/// Clears the value of the "crypto_period_index" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearCryptoPeriodIndex() {
_hasBits0 &= ~2;
}
/// Field number for the "protection_scheme" field.
public const int ProtectionSchemeFieldNumber = 9;
private readonly static uint ProtectionSchemeDefaultValue = 0;
private uint protectionScheme_;
///
/// Protection scheme identifying the encryption algorithm. The protection
/// scheme is represented as a uint32 value. The uint32 contains 4 bytes each
/// representing a single ascii character in one of the 4CC protection scheme
/// values. To be deprecated in favor of signaling from content.
/// 'cenc' (AES-CTR) protection_scheme = 0x63656E63,
/// 'cbc1' (AES-CBC) protection_scheme = 0x63626331,
/// 'cens' (AES-CTR pattern encryption) protection_scheme = 0x63656E73,
/// 'cbcs' (AES-CBC pattern encryption) protection_scheme = 0x63626373.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public uint ProtectionScheme {
get { if ((_hasBits0 & 4) != 0) { return protectionScheme_; } else { return ProtectionSchemeDefaultValue; } }
set {
_hasBits0 |= 4;
protectionScheme_ = value;
}
}
/// Gets whether the "protection_scheme" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasProtectionScheme {
get { return (_hasBits0 & 4) != 0; }
}
/// Clears the value of the "protection_scheme" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearProtectionScheme() {
_hasBits0 &= ~4;
}
/// Field number for the "crypto_period_seconds" field.
public const int CryptoPeriodSecondsFieldNumber = 10;
private readonly static uint CryptoPeriodSecondsDefaultValue = 0;
private uint cryptoPeriodSeconds_;
///
/// Optional. For media using key rotation, this represents the duration
/// of each crypto period in seconds.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public uint CryptoPeriodSeconds {
get { if ((_hasBits0 & 8) != 0) { return cryptoPeriodSeconds_; } else { return CryptoPeriodSecondsDefaultValue; } }
set {
_hasBits0 |= 8;
cryptoPeriodSeconds_ = value;
}
}
/// Gets whether the "crypto_period_seconds" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasCryptoPeriodSeconds {
get { return (_hasBits0 & 8) != 0; }
}
/// Clears the value of the "crypto_period_seconds" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearCryptoPeriodSeconds() {
_hasBits0 &= ~8;
}
/// Field number for the "type" field.
public const int TypeFieldNumber = 11;
private readonly static global::AudibleUtilities.Widevine.WidevinePsshData.Types.Type TypeDefaultValue = global::AudibleUtilities.Widevine.WidevinePsshData.Types.Type.Single;
private global::AudibleUtilities.Widevine.WidevinePsshData.Types.Type type_;
///
/// Type of PSSH. Required if not SINGLE.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.WidevinePsshData.Types.Type Type {
get { if ((_hasBits0 & 16) != 0) { return type_; } else { return TypeDefaultValue; } }
set {
_hasBits0 |= 16;
type_ = value;
}
}
/// Gets whether the "type" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasType {
get { return (_hasBits0 & 16) != 0; }
}
/// Clears the value of the "type" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearType() {
_hasBits0 &= ~16;
}
/// Field number for the "key_sequence" field.
public const int KeySequenceFieldNumber = 12;
private readonly static uint KeySequenceDefaultValue = 0;
private uint keySequence_;
///
/// Key sequence for Widevine-managed keys. Optional.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public uint KeySequence {
get { if ((_hasBits0 & 32) != 0) { return keySequence_; } else { return KeySequenceDefaultValue; } }
set {
_hasBits0 |= 32;
keySequence_ = value;
}
}
/// Gets whether the "key_sequence" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasKeySequence {
get { return (_hasBits0 & 32) != 0; }
}
/// Clears the value of the "key_sequence" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearKeySequence() {
_hasBits0 &= ~32;
}
/// Field number for the "group_ids" field.
public const int GroupIdsFieldNumber = 13;
private static readonly pb::FieldCodec _repeated_groupIds_codec
= pb::FieldCodec.ForBytes(106);
private readonly pbc::RepeatedField groupIds_ = new pbc::RepeatedField();
///
/// Group identifiers for all groups to which the content belongs. This can
/// be used to deliver licenses to unlock multiple titles / channels.
/// Optional, and may only be present in ENTITLEMENT and ENTITLED_KEY PSSHs, and
/// not in conjunction with key_ids.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pbc::RepeatedField GroupIds {
get { return groupIds_; }
}
/// Field number for the "entitled_keys" field.
public const int EntitledKeysFieldNumber = 14;
private static readonly pb::FieldCodec _repeated_entitledKeys_codec
= pb::FieldCodec.ForMessage(114, global::AudibleUtilities.Widevine.WidevinePsshData.Types.EntitledKey.Parser);
private readonly pbc::RepeatedField entitledKeys_ = new pbc::RepeatedField();
///
/// Copy/copies of the content key used to decrypt the media stream in which
/// the PSSH box is embedded, each wrapped with a different entitlement key.
/// May also contain sub-licenses to support devices with OEMCrypto 13 or
/// older. May be repeated if using group entitlement keys. Present only in
/// PSSHs of type ENTITLED_KEY.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pbc::RepeatedField EntitledKeys {
get { return entitledKeys_; }
}
/// Field number for the "video_feature" field.
public const int VideoFeatureFieldNumber = 15;
private readonly static string VideoFeatureDefaultValue = "";
private string videoFeature_;
///
/// Video feature identifier, which is used in conjunction with |content_id|
/// to determine the set of keys to be returned in the license. Cannot be
/// present in conjunction with |key_ids|.
/// Current values are "HDR".
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public string VideoFeature {
get { return videoFeature_ ?? VideoFeatureDefaultValue; }
set {
videoFeature_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "video_feature" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasVideoFeature {
get { return videoFeature_ != null; }
}
/// Clears the value of the "video_feature" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearVideoFeature() {
videoFeature_ = null;
}
/// Field number for the "algorithm" field.
public const int AlgorithmFieldNumber = 1;
private readonly static global::AudibleUtilities.Widevine.WidevinePsshData.Types.Algorithm AlgorithmDefaultValue = global::AudibleUtilities.Widevine.WidevinePsshData.Types.Algorithm.Unencrypted;
private global::AudibleUtilities.Widevine.WidevinePsshData.Types.Algorithm algorithm_;
[global::System.ObsoleteAttribute]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::AudibleUtilities.Widevine.WidevinePsshData.Types.Algorithm Algorithm {
get { if ((_hasBits0 & 1) != 0) { return algorithm_; } else { return AlgorithmDefaultValue; } }
set {
_hasBits0 |= 1;
algorithm_ = value;
}
}
/// Gets whether the "algorithm" field is set
[global::System.ObsoleteAttribute]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasAlgorithm {
get { return (_hasBits0 & 1) != 0; }
}
/// Clears the value of the "algorithm" field
[global::System.ObsoleteAttribute]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearAlgorithm() {
_hasBits0 &= ~1;
}
/// Field number for the "provider" field.
public const int ProviderFieldNumber = 3;
private readonly static string ProviderDefaultValue = "";
private string provider_;
///
/// Content provider name.
///
[global::System.ObsoleteAttribute]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public string Provider {
get { return provider_ ?? ProviderDefaultValue; }
set {
provider_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "provider" field is set
[global::System.ObsoleteAttribute]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasProvider {
get { return provider_ != null; }
}
/// Clears the value of the "provider" field
[global::System.ObsoleteAttribute]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearProvider() {
provider_ = null;
}
/// Field number for the "track_type" field.
public const int TrackTypeFieldNumber = 5;
private readonly static string TrackTypeDefaultValue = "";
private string trackType_;
///
/// Track type. Acceptable values are SD, HD and AUDIO. Used to
/// differentiate content keys used by an asset.
///
[global::System.ObsoleteAttribute]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public string TrackType {
get { return trackType_ ?? TrackTypeDefaultValue; }
set {
trackType_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "track_type" field is set
[global::System.ObsoleteAttribute]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasTrackType {
get { return trackType_ != null; }
}
/// Clears the value of the "track_type" field
[global::System.ObsoleteAttribute]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearTrackType() {
trackType_ = null;
}
/// Field number for the "policy" field.
public const int PolicyFieldNumber = 6;
private readonly static string PolicyDefaultValue = "";
private string policy_;
///
/// The name of a registered policy to be used for this asset.
///
[global::System.ObsoleteAttribute]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public string Policy {
get { return policy_ ?? PolicyDefaultValue; }
set {
policy_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "policy" field is set
[global::System.ObsoleteAttribute]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasPolicy {
get { return policy_ != null; }
}
/// Clears the value of the "policy" field
[global::System.ObsoleteAttribute]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearPolicy() {
policy_ = null;
}
/// Field number for the "grouped_license" field.
public const int GroupedLicenseFieldNumber = 8;
private readonly static pb::ByteString GroupedLicenseDefaultValue = pb::ByteString.Empty;
private pb::ByteString groupedLicense_;
///
/// Optional protected context for group content. The grouped_license is a
/// serialized SignedMessage.
///
[global::System.ObsoleteAttribute]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString GroupedLicense {
get { return groupedLicense_ ?? GroupedLicenseDefaultValue; }
set {
groupedLicense_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "grouped_license" field is set
[global::System.ObsoleteAttribute]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasGroupedLicense {
get { return groupedLicense_ != null; }
}
/// Clears the value of the "grouped_license" field
[global::System.ObsoleteAttribute]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearGroupedLicense() {
groupedLicense_ = null;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as WidevinePsshData);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(WidevinePsshData other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if(!keyIds_.Equals(other.keyIds_)) return false;
if (ContentId != other.ContentId) return false;
if (CryptoPeriodIndex != other.CryptoPeriodIndex) return false;
if (ProtectionScheme != other.ProtectionScheme) return false;
if (CryptoPeriodSeconds != other.CryptoPeriodSeconds) return false;
if (Type != other.Type) return false;
if (KeySequence != other.KeySequence) return false;
if(!groupIds_.Equals(other.groupIds_)) return false;
if(!entitledKeys_.Equals(other.entitledKeys_)) return false;
if (VideoFeature != other.VideoFeature) return false;
if (Algorithm != other.Algorithm) return false;
if (Provider != other.Provider) return false;
if (TrackType != other.TrackType) return false;
if (Policy != other.Policy) return false;
if (GroupedLicense != other.GroupedLicense) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
hash ^= keyIds_.GetHashCode();
if (HasContentId) hash ^= ContentId.GetHashCode();
if (HasCryptoPeriodIndex) hash ^= CryptoPeriodIndex.GetHashCode();
if (HasProtectionScheme) hash ^= ProtectionScheme.GetHashCode();
if (HasCryptoPeriodSeconds) hash ^= CryptoPeriodSeconds.GetHashCode();
if (HasType) hash ^= Type.GetHashCode();
if (HasKeySequence) hash ^= KeySequence.GetHashCode();
hash ^= groupIds_.GetHashCode();
hash ^= entitledKeys_.GetHashCode();
if (HasVideoFeature) hash ^= VideoFeature.GetHashCode();
if (HasAlgorithm) hash ^= Algorithm.GetHashCode();
if (HasProvider) hash ^= Provider.GetHashCode();
if (HasTrackType) hash ^= TrackType.GetHashCode();
if (HasPolicy) hash ^= Policy.GetHashCode();
if (HasGroupedLicense) hash ^= GroupedLicense.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (HasAlgorithm) {
output.WriteRawTag(8);
output.WriteEnum((int) Algorithm);
}
keyIds_.WriteTo(output, _repeated_keyIds_codec);
if (HasProvider) {
output.WriteRawTag(26);
output.WriteString(Provider);
}
if (HasContentId) {
output.WriteRawTag(34);
output.WriteBytes(ContentId);
}
if (HasTrackType) {
output.WriteRawTag(42);
output.WriteString(TrackType);
}
if (HasPolicy) {
output.WriteRawTag(50);
output.WriteString(Policy);
}
if (HasCryptoPeriodIndex) {
output.WriteRawTag(56);
output.WriteUInt32(CryptoPeriodIndex);
}
if (HasGroupedLicense) {
output.WriteRawTag(66);
output.WriteBytes(GroupedLicense);
}
if (HasProtectionScheme) {
output.WriteRawTag(72);
output.WriteUInt32(ProtectionScheme);
}
if (HasCryptoPeriodSeconds) {
output.WriteRawTag(80);
output.WriteUInt32(CryptoPeriodSeconds);
}
if (HasType) {
output.WriteRawTag(88);
output.WriteEnum((int) Type);
}
if (HasKeySequence) {
output.WriteRawTag(96);
output.WriteUInt32(KeySequence);
}
groupIds_.WriteTo(output, _repeated_groupIds_codec);
entitledKeys_.WriteTo(output, _repeated_entitledKeys_codec);
if (HasVideoFeature) {
output.WriteRawTag(122);
output.WriteString(VideoFeature);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (HasAlgorithm) {
output.WriteRawTag(8);
output.WriteEnum((int) Algorithm);
}
keyIds_.WriteTo(ref output, _repeated_keyIds_codec);
if (HasProvider) {
output.WriteRawTag(26);
output.WriteString(Provider);
}
if (HasContentId) {
output.WriteRawTag(34);
output.WriteBytes(ContentId);
}
if (HasTrackType) {
output.WriteRawTag(42);
output.WriteString(TrackType);
}
if (HasPolicy) {
output.WriteRawTag(50);
output.WriteString(Policy);
}
if (HasCryptoPeriodIndex) {
output.WriteRawTag(56);
output.WriteUInt32(CryptoPeriodIndex);
}
if (HasGroupedLicense) {
output.WriteRawTag(66);
output.WriteBytes(GroupedLicense);
}
if (HasProtectionScheme) {
output.WriteRawTag(72);
output.WriteUInt32(ProtectionScheme);
}
if (HasCryptoPeriodSeconds) {
output.WriteRawTag(80);
output.WriteUInt32(CryptoPeriodSeconds);
}
if (HasType) {
output.WriteRawTag(88);
output.WriteEnum((int) Type);
}
if (HasKeySequence) {
output.WriteRawTag(96);
output.WriteUInt32(KeySequence);
}
groupIds_.WriteTo(ref output, _repeated_groupIds_codec);
entitledKeys_.WriteTo(ref output, _repeated_entitledKeys_codec);
if (HasVideoFeature) {
output.WriteRawTag(122);
output.WriteString(VideoFeature);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
size += keyIds_.CalculateSize(_repeated_keyIds_codec);
if (HasContentId) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(ContentId);
}
if (HasCryptoPeriodIndex) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(CryptoPeriodIndex);
}
if (HasProtectionScheme) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ProtectionScheme);
}
if (HasCryptoPeriodSeconds) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(CryptoPeriodSeconds);
}
if (HasType) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Type);
}
if (HasKeySequence) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(KeySequence);
}
size += groupIds_.CalculateSize(_repeated_groupIds_codec);
size += entitledKeys_.CalculateSize(_repeated_entitledKeys_codec);
if (HasVideoFeature) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(VideoFeature);
}
if (HasAlgorithm) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Algorithm);
}
if (HasProvider) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(Provider);
}
if (HasTrackType) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(TrackType);
}
if (HasPolicy) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(Policy);
}
if (HasGroupedLicense) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(GroupedLicense);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(WidevinePsshData other) {
if (other == null) {
return;
}
keyIds_.Add(other.keyIds_);
if (other.HasContentId) {
ContentId = other.ContentId;
}
if (other.HasCryptoPeriodIndex) {
CryptoPeriodIndex = other.CryptoPeriodIndex;
}
if (other.HasProtectionScheme) {
ProtectionScheme = other.ProtectionScheme;
}
if (other.HasCryptoPeriodSeconds) {
CryptoPeriodSeconds = other.CryptoPeriodSeconds;
}
if (other.HasType) {
Type = other.Type;
}
if (other.HasKeySequence) {
KeySequence = other.KeySequence;
}
groupIds_.Add(other.groupIds_);
entitledKeys_.Add(other.entitledKeys_);
if (other.HasVideoFeature) {
VideoFeature = other.VideoFeature;
}
if (other.HasAlgorithm) {
Algorithm = other.Algorithm;
}
if (other.HasProvider) {
Provider = other.Provider;
}
if (other.HasTrackType) {
TrackType = other.TrackType;
}
if (other.HasPolicy) {
Policy = other.Policy;
}
if (other.HasGroupedLicense) {
GroupedLicense = other.GroupedLicense;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 8: {
Algorithm = (global::AudibleUtilities.Widevine.WidevinePsshData.Types.Algorithm) input.ReadEnum();
break;
}
case 18: {
keyIds_.AddEntriesFrom(input, _repeated_keyIds_codec);
break;
}
case 26: {
Provider = input.ReadString();
break;
}
case 34: {
ContentId = input.ReadBytes();
break;
}
case 42: {
TrackType = input.ReadString();
break;
}
case 50: {
Policy = input.ReadString();
break;
}
case 56: {
CryptoPeriodIndex = input.ReadUInt32();
break;
}
case 66: {
GroupedLicense = input.ReadBytes();
break;
}
case 72: {
ProtectionScheme = input.ReadUInt32();
break;
}
case 80: {
CryptoPeriodSeconds = input.ReadUInt32();
break;
}
case 88: {
Type = (global::AudibleUtilities.Widevine.WidevinePsshData.Types.Type) input.ReadEnum();
break;
}
case 96: {
KeySequence = input.ReadUInt32();
break;
}
case 106: {
groupIds_.AddEntriesFrom(input, _repeated_groupIds_codec);
break;
}
case 114: {
entitledKeys_.AddEntriesFrom(input, _repeated_entitledKeys_codec);
break;
}
case 122: {
VideoFeature = input.ReadString();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 8: {
Algorithm = (global::AudibleUtilities.Widevine.WidevinePsshData.Types.Algorithm) input.ReadEnum();
break;
}
case 18: {
keyIds_.AddEntriesFrom(ref input, _repeated_keyIds_codec);
break;
}
case 26: {
Provider = input.ReadString();
break;
}
case 34: {
ContentId = input.ReadBytes();
break;
}
case 42: {
TrackType = input.ReadString();
break;
}
case 50: {
Policy = input.ReadString();
break;
}
case 56: {
CryptoPeriodIndex = input.ReadUInt32();
break;
}
case 66: {
GroupedLicense = input.ReadBytes();
break;
}
case 72: {
ProtectionScheme = input.ReadUInt32();
break;
}
case 80: {
CryptoPeriodSeconds = input.ReadUInt32();
break;
}
case 88: {
Type = (global::AudibleUtilities.Widevine.WidevinePsshData.Types.Type) input.ReadEnum();
break;
}
case 96: {
KeySequence = input.ReadUInt32();
break;
}
case 106: {
groupIds_.AddEntriesFrom(ref input, _repeated_groupIds_codec);
break;
}
case 114: {
entitledKeys_.AddEntriesFrom(ref input, _repeated_entitledKeys_codec);
break;
}
case 122: {
VideoFeature = input.ReadString();
break;
}
}
}
}
#endif
#region Nested types
/// Container for nested types declared in the WidevinePsshData message type.
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static partial class Types {
internal enum Type {
///
/// Single PSSH to be used to retrieve content keys.
///
[pbr::OriginalName("SINGLE")] Single = 0,
///
/// Primary PSSH used to retrieve entitlement keys.
///
[pbr::OriginalName("ENTITLEMENT")] Entitlement = 1,
///
/// Secondary PSSH containing entitled key(s).
///
[pbr::OriginalName("ENTITLED_KEY")] EntitledKey = 2,
}
///
///////////////////////////// Deprecated Fields ////////////////////////////
///
internal enum Algorithm {
[pbr::OriginalName("UNENCRYPTED")] Unencrypted = 0,
[pbr::OriginalName("AESCTR")] Aesctr = 1,
}
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class EntitledKey : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new EntitledKey());
private pb::UnknownFieldSet _unknownFields;
private int _hasBits0;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.WidevinePsshData.Descriptor.NestedTypes[0]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public EntitledKey() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public EntitledKey(EntitledKey other) : this() {
_hasBits0 = other._hasBits0;
entitlementKeyId_ = other.entitlementKeyId_;
keyId_ = other.keyId_;
key_ = other.key_;
iv_ = other.iv_;
entitlementKeySizeBytes_ = other.entitlementKeySizeBytes_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public EntitledKey Clone() {
return new EntitledKey(this);
}
/// Field number for the "entitlement_key_id" field.
public const int EntitlementKeyIdFieldNumber = 1;
private readonly static pb::ByteString EntitlementKeyIdDefaultValue = pb::ByteString.Empty;
private pb::ByteString entitlementKeyId_;
///
/// ID of entitlement key used for wrapping |key|.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString EntitlementKeyId {
get { return entitlementKeyId_ ?? EntitlementKeyIdDefaultValue; }
set {
entitlementKeyId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "entitlement_key_id" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasEntitlementKeyId {
get { return entitlementKeyId_ != null; }
}
/// Clears the value of the "entitlement_key_id" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearEntitlementKeyId() {
entitlementKeyId_ = null;
}
/// Field number for the "key_id" field.
public const int KeyIdFieldNumber = 2;
private readonly static pb::ByteString KeyIdDefaultValue = pb::ByteString.Empty;
private pb::ByteString keyId_;
///
/// ID of the entitled key.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString KeyId {
get { return keyId_ ?? KeyIdDefaultValue; }
set {
keyId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "key_id" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasKeyId {
get { return keyId_ != null; }
}
/// Clears the value of the "key_id" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearKeyId() {
keyId_ = null;
}
/// Field number for the "key" field.
public const int KeyFieldNumber = 3;
private readonly static pb::ByteString KeyDefaultValue = pb::ByteString.Empty;
private pb::ByteString key_;
///
/// Wrapped key. Required.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString Key {
get { return key_ ?? KeyDefaultValue; }
set {
key_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "key" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasKey {
get { return key_ != null; }
}
/// Clears the value of the "key" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearKey() {
key_ = null;
}
/// Field number for the "iv" field.
public const int IvFieldNumber = 4;
private readonly static pb::ByteString IvDefaultValue = pb::ByteString.Empty;
private pb::ByteString iv_;
///
/// IV used for wrapping |key|. Required.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString Iv {
get { return iv_ ?? IvDefaultValue; }
set {
iv_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "iv" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasIv {
get { return iv_ != null; }
}
/// Clears the value of the "iv" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearIv() {
iv_ = null;
}
/// Field number for the "entitlement_key_size_bytes" field.
public const int EntitlementKeySizeBytesFieldNumber = 5;
private readonly static uint EntitlementKeySizeBytesDefaultValue = 32;
private uint entitlementKeySizeBytes_;
///
/// Size of entitlement key used for wrapping |key|.
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public uint EntitlementKeySizeBytes {
get { if ((_hasBits0 & 1) != 0) { return entitlementKeySizeBytes_; } else { return EntitlementKeySizeBytesDefaultValue; } }
set {
_hasBits0 |= 1;
entitlementKeySizeBytes_ = value;
}
}
/// Gets whether the "entitlement_key_size_bytes" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasEntitlementKeySizeBytes {
get { return (_hasBits0 & 1) != 0; }
}
/// Clears the value of the "entitlement_key_size_bytes" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearEntitlementKeySizeBytes() {
_hasBits0 &= ~1;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as EntitledKey);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(EntitledKey other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (EntitlementKeyId != other.EntitlementKeyId) return false;
if (KeyId != other.KeyId) return false;
if (Key != other.Key) return false;
if (Iv != other.Iv) return false;
if (EntitlementKeySizeBytes != other.EntitlementKeySizeBytes) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (HasEntitlementKeyId) hash ^= EntitlementKeyId.GetHashCode();
if (HasKeyId) hash ^= KeyId.GetHashCode();
if (HasKey) hash ^= Key.GetHashCode();
if (HasIv) hash ^= Iv.GetHashCode();
if (HasEntitlementKeySizeBytes) hash ^= EntitlementKeySizeBytes.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (HasEntitlementKeyId) {
output.WriteRawTag(10);
output.WriteBytes(EntitlementKeyId);
}
if (HasKeyId) {
output.WriteRawTag(18);
output.WriteBytes(KeyId);
}
if (HasKey) {
output.WriteRawTag(26);
output.WriteBytes(Key);
}
if (HasIv) {
output.WriteRawTag(34);
output.WriteBytes(Iv);
}
if (HasEntitlementKeySizeBytes) {
output.WriteRawTag(40);
output.WriteUInt32(EntitlementKeySizeBytes);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (HasEntitlementKeyId) {
output.WriteRawTag(10);
output.WriteBytes(EntitlementKeyId);
}
if (HasKeyId) {
output.WriteRawTag(18);
output.WriteBytes(KeyId);
}
if (HasKey) {
output.WriteRawTag(26);
output.WriteBytes(Key);
}
if (HasIv) {
output.WriteRawTag(34);
output.WriteBytes(Iv);
}
if (HasEntitlementKeySizeBytes) {
output.WriteRawTag(40);
output.WriteUInt32(EntitlementKeySizeBytes);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (HasEntitlementKeyId) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(EntitlementKeyId);
}
if (HasKeyId) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(KeyId);
}
if (HasKey) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(Key);
}
if (HasIv) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(Iv);
}
if (HasEntitlementKeySizeBytes) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(EntitlementKeySizeBytes);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(EntitledKey other) {
if (other == null) {
return;
}
if (other.HasEntitlementKeyId) {
EntitlementKeyId = other.EntitlementKeyId;
}
if (other.HasKeyId) {
KeyId = other.KeyId;
}
if (other.HasKey) {
Key = other.Key;
}
if (other.HasIv) {
Iv = other.Iv;
}
if (other.HasEntitlementKeySizeBytes) {
EntitlementKeySizeBytes = other.EntitlementKeySizeBytes;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
EntitlementKeyId = input.ReadBytes();
break;
}
case 18: {
KeyId = input.ReadBytes();
break;
}
case 26: {
Key = input.ReadBytes();
break;
}
case 34: {
Iv = input.ReadBytes();
break;
}
case 40: {
EntitlementKeySizeBytes = input.ReadUInt32();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 10: {
EntitlementKeyId = input.ReadBytes();
break;
}
case 18: {
KeyId = input.ReadBytes();
break;
}
case 26: {
Key = input.ReadBytes();
break;
}
case 34: {
Iv = input.ReadBytes();
break;
}
case 40: {
EntitlementKeySizeBytes = input.ReadUInt32();
break;
}
}
}
}
#endif
}
}
#endregion
}
///
/// File Hashes for Verified Media Path (VMP) support.
///
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class FileHashes : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new FileHashes());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.LicenseProtocolReflection.Descriptor.MessageTypes[11]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public FileHashes() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public FileHashes(FileHashes other) : this() {
signer_ = other.signer_;
signatures_ = other.signatures_.Clone();
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public FileHashes Clone() {
return new FileHashes(this);
}
/// Field number for the "signer" field.
public const int SignerFieldNumber = 1;
private readonly static pb::ByteString SignerDefaultValue = pb::ByteString.Empty;
private pb::ByteString signer_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString Signer {
get { return signer_ ?? SignerDefaultValue; }
set {
signer_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "signer" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasSigner {
get { return signer_ != null; }
}
/// Clears the value of the "signer" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearSigner() {
signer_ = null;
}
/// Field number for the "signatures" field.
public const int SignaturesFieldNumber = 2;
private static readonly pb::FieldCodec _repeated_signatures_codec
= pb::FieldCodec.ForMessage(18, global::AudibleUtilities.Widevine.FileHashes.Types.Signature.Parser);
private readonly pbc::RepeatedField signatures_ = new pbc::RepeatedField();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pbc::RepeatedField Signatures {
get { return signatures_; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as FileHashes);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(FileHashes other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (Signer != other.Signer) return false;
if(!signatures_.Equals(other.signatures_)) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (HasSigner) hash ^= Signer.GetHashCode();
hash ^= signatures_.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (HasSigner) {
output.WriteRawTag(10);
output.WriteBytes(Signer);
}
signatures_.WriteTo(output, _repeated_signatures_codec);
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (HasSigner) {
output.WriteRawTag(10);
output.WriteBytes(Signer);
}
signatures_.WriteTo(ref output, _repeated_signatures_codec);
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (HasSigner) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(Signer);
}
size += signatures_.CalculateSize(_repeated_signatures_codec);
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(FileHashes other) {
if (other == null) {
return;
}
if (other.HasSigner) {
Signer = other.Signer;
}
signatures_.Add(other.signatures_);
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
Signer = input.ReadBytes();
break;
}
case 18: {
signatures_.AddEntriesFrom(input, _repeated_signatures_codec);
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 10: {
Signer = input.ReadBytes();
break;
}
case 18: {
signatures_.AddEntriesFrom(ref input, _repeated_signatures_codec);
break;
}
}
}
}
#endif
#region Nested types
/// Container for nested types declared in the FileHashes message type.
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static partial class Types {
[global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
internal sealed partial class Signature : pb::IMessage
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Signature());
private pb::UnknownFieldSet _unknownFields;
private int _hasBits0;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::AudibleUtilities.Widevine.FileHashes.Descriptor.NestedTypes[0]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public Signature() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public Signature(Signature other) : this() {
_hasBits0 = other._hasBits0;
filename_ = other.filename_;
testSigning_ = other.testSigning_;
sHA512Hash_ = other.sHA512Hash_;
mainExe_ = other.mainExe_;
signature_ = other.signature_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public Signature Clone() {
return new Signature(this);
}
/// Field number for the "filename" field.
public const int FilenameFieldNumber = 1;
private readonly static string FilenameDefaultValue = "";
private string filename_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public string Filename {
get { return filename_ ?? FilenameDefaultValue; }
set {
filename_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "filename" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasFilename {
get { return filename_ != null; }
}
/// Clears the value of the "filename" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearFilename() {
filename_ = null;
}
/// Field number for the "test_signing" field.
public const int TestSigningFieldNumber = 2;
private readonly static bool TestSigningDefaultValue = false;
private bool testSigning_;
///
///0 - release, 1 - testing
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool TestSigning {
get { if ((_hasBits0 & 1) != 0) { return testSigning_; } else { return TestSigningDefaultValue; } }
set {
_hasBits0 |= 1;
testSigning_ = value;
}
}
/// Gets whether the "test_signing" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasTestSigning {
get { return (_hasBits0 & 1) != 0; }
}
/// Clears the value of the "test_signing" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearTestSigning() {
_hasBits0 &= ~1;
}
/// Field number for the "SHA512Hash" field.
public const int SHA512HashFieldNumber = 3;
private readonly static pb::ByteString SHA512HashDefaultValue = pb::ByteString.Empty;
private pb::ByteString sHA512Hash_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString SHA512Hash {
get { return sHA512Hash_ ?? SHA512HashDefaultValue; }
set {
sHA512Hash_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "SHA512Hash" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasSHA512Hash {
get { return sHA512Hash_ != null; }
}
/// Clears the value of the "SHA512Hash" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearSHA512Hash() {
sHA512Hash_ = null;
}
/// Field number for the "main_exe" field.
public const int MainExeFieldNumber = 4;
private readonly static bool MainExeDefaultValue = false;
private bool mainExe_;
///
///0 for dlls, 1 for exe, this is field 3 in file
///
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool MainExe {
get { if ((_hasBits0 & 2) != 0) { return mainExe_; } else { return MainExeDefaultValue; } }
set {
_hasBits0 |= 2;
mainExe_ = value;
}
}
/// Gets whether the "main_exe" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasMainExe {
get { return (_hasBits0 & 2) != 0; }
}
/// Clears the value of the "main_exe" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearMainExe() {
_hasBits0 &= ~2;
}
/// Field number for the "signature" field.
public const int Signature_FieldNumber = 5;
private readonly static pb::ByteString Signature_DefaultValue = pb::ByteString.Empty;
private pb::ByteString signature_;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pb::ByteString Signature_ {
get { return signature_ ?? Signature_DefaultValue; }
set {
signature_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// Gets whether the "signature" field is set
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool HasSignature_ {
get { return signature_ != null; }
}
/// Clears the value of the "signature" field
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void ClearSignature_() {
signature_ = null;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as Signature);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(Signature other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (Filename != other.Filename) return false;
if (TestSigning != other.TestSigning) return false;
if (SHA512Hash != other.SHA512Hash) return false;
if (MainExe != other.MainExe) return false;
if (Signature_ != other.Signature_) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (HasFilename) hash ^= Filename.GetHashCode();
if (HasTestSigning) hash ^= TestSigning.GetHashCode();
if (HasSHA512Hash) hash ^= SHA512Hash.GetHashCode();
if (HasMainExe) hash ^= MainExe.GetHashCode();
if (HasSignature_) hash ^= Signature_.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (HasFilename) {
output.WriteRawTag(10);
output.WriteString(Filename);
}
if (HasTestSigning) {
output.WriteRawTag(16);
output.WriteBool(TestSigning);
}
if (HasSHA512Hash) {
output.WriteRawTag(26);
output.WriteBytes(SHA512Hash);
}
if (HasMainExe) {
output.WriteRawTag(32);
output.WriteBool(MainExe);
}
if (HasSignature_) {
output.WriteRawTag(42);
output.WriteBytes(Signature_);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (HasFilename) {
output.WriteRawTag(10);
output.WriteString(Filename);
}
if (HasTestSigning) {
output.WriteRawTag(16);
output.WriteBool(TestSigning);
}
if (HasSHA512Hash) {
output.WriteRawTag(26);
output.WriteBytes(SHA512Hash);
}
if (HasMainExe) {
output.WriteRawTag(32);
output.WriteBool(MainExe);
}
if (HasSignature_) {
output.WriteRawTag(42);
output.WriteBytes(Signature_);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (HasFilename) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(Filename);
}
if (HasTestSigning) {
size += 1 + 1;
}
if (HasSHA512Hash) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(SHA512Hash);
}
if (HasMainExe) {
size += 1 + 1;
}
if (HasSignature_) {
size += 1 + pb::CodedOutputStream.ComputeBytesSize(Signature_);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(Signature other) {
if (other == null) {
return;
}
if (other.HasFilename) {
Filename = other.Filename;
}
if (other.HasTestSigning) {
TestSigning = other.TestSigning;
}
if (other.HasSHA512Hash) {
SHA512Hash = other.SHA512Hash;
}
if (other.HasMainExe) {
MainExe = other.MainExe;
}
if (other.HasSignature_) {
Signature_ = other.Signature_;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
Filename = input.ReadString();
break;
}
case 16: {
TestSigning = input.ReadBool();
break;
}
case 26: {
SHA512Hash = input.ReadBytes();
break;
}
case 32: {
MainExe = input.ReadBool();
break;
}
case 42: {
Signature_ = input.ReadBytes();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
if ((tag & 7) == 4) {
// Abort on any end group tag.
return;
}
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 10: {
Filename = input.ReadString();
break;
}
case 16: {
TestSigning = input.ReadBool();
break;
}
case 26: {
SHA512Hash = input.ReadBytes();
break;
}
case 32: {
MainExe = input.ReadBool();
break;
}
case 42: {
Signature_ = input.ReadBytes();
break;
}
}
}
}
#endif
}
}
#endregion
}
#endregion
#endregion Designer generated code