# Generated by the protocol buffer compiler.  DO NOT EDIT!
# sources: steammessages_clientserver_appinfo.proto
# plugin: python-betterproto
# Last updated 09/09/2021

from dataclasses import dataclass
from typing import List

import betterproto


@dataclass(eq=False, repr=False)
class CMsgClientAppInfoUpdate(betterproto.Message):
    last_changenumber: int = betterproto.uint32_field(1)
    send_changelist: bool = betterproto.bool_field(2)


@dataclass(eq=False, repr=False)
class CMsgClientAppInfoChanges(betterproto.Message):
    current_change_number: int = betterproto.uint32_field(1)
    force_full_update: bool = betterproto.bool_field(2)
    app_ids: List[int] = betterproto.uint32_field(3)


@dataclass(eq=False, repr=False)
class CMsgClientAppInfoRequest(betterproto.Message):
    apps: List["CMsgClientAppInfoRequestApp"] = betterproto.message_field(1)
    supports_batches: bool = betterproto.bool_field(2)


@dataclass(eq=False, repr=False)
class CMsgClientAppInfoRequestApp(betterproto.Message):
    app_id: int = betterproto.uint32_field(1)
    section_flags: int = betterproto.uint32_field(2)
    section_crc: List[int] = betterproto.uint32_field(3)


@dataclass(eq=False, repr=False)
class CMsgClientAppInfoResponse(betterproto.Message):
    apps: List["CMsgClientAppInfoResponseApp"] = betterproto.message_field(1)
    apps_unknown: List[int] = betterproto.uint32_field(2)
    apps_pending: int = betterproto.uint32_field(3)


@dataclass(eq=False, repr=False)
class CMsgClientAppInfoResponseApp(betterproto.Message):
    app_id: int = betterproto.uint32_field(1)
    change_number: int = betterproto.uint32_field(2)
    sections: List["CMsgClientAppInfoResponseAppSection"] = betterproto.message_field(3)


@dataclass(eq=False, repr=False)
class CMsgClientAppInfoResponseAppSection(betterproto.Message):
    section_id: int = betterproto.uint32_field(1)
    section_kv: bytes = betterproto.bytes_field(2)


@dataclass(eq=False, repr=False)
class CMsgClientPackageInfoRequest(betterproto.Message):
    package_ids: List[int] = betterproto.uint32_field(1)
    meta_data_only: bool = betterproto.bool_field(2)


@dataclass(eq=False, repr=False)
class CMsgClientPackageInfoResponse(betterproto.Message):
    packages: List["CMsgClientPackageInfoResponsePackage"] = betterproto.message_field(1)
    packages_unknown: List[int] = betterproto.uint32_field(2)
    packages_pending: int = betterproto.uint32_field(3)


@dataclass(eq=False, repr=False)
class CMsgClientPackageInfoResponsePackage(betterproto.Message):
    package_id: int = betterproto.uint32_field(1)
    change_number: int = betterproto.uint32_field(2)
    sha: bytes = betterproto.bytes_field(3)
    buffer: bytes = betterproto.bytes_field(4)


@dataclass(eq=False, repr=False)
class CMsgClientPicsChangesSinceRequest(betterproto.Message):
    since_change_number: int = betterproto.uint32_field(1)
    send_app_info_changes: bool = betterproto.bool_field(2)
    send_package_info_changes: bool = betterproto.bool_field(3)
    num_app_info_cached: int = betterproto.uint32_field(4)
    num_package_info_cached: int = betterproto.uint32_field(5)


@dataclass(eq=False, repr=False)
class CMsgClientPicsChangesSinceResponse(betterproto.Message):
    current_change_number: int = betterproto.uint32_field(1)
    since_change_number: int = betterproto.uint32_field(2)
    force_full_update: bool = betterproto.bool_field(3)
    package_changes: List["CMsgClientPicsChangesSinceResponsePackageChange"] = betterproto.message_field(4)
    app_changes: List["CMsgClientPicsChangesSinceResponseAppChange"] = betterproto.message_field(5)
    force_full_app_update: bool = betterproto.bool_field(6)
    force_full_package_update: bool = betterproto.bool_field(7)


@dataclass(eq=False, repr=False)
class CMsgClientPicsChangesSinceResponsePackageChange(betterproto.Message):
    packageid: int = betterproto.uint32_field(1)
    change_number: int = betterproto.uint32_field(2)
    needs_token: bool = betterproto.bool_field(3)


@dataclass(eq=False, repr=False)
class CMsgClientPicsChangesSinceResponseAppChange(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    change_number: int = betterproto.uint32_field(2)
    needs_token: bool = betterproto.bool_field(3)


@dataclass(eq=False, repr=False)
class CMsgClientPicsProductInfoRequest(betterproto.Message):
    packages: List["CMsgClientPicsProductInfoRequestPackageInfo"] = betterproto.message_field(1)
    apps: List["CMsgClientPicsProductInfoRequestAppInfo"] = betterproto.message_field(2)
    meta_data_only: bool = betterproto.bool_field(3)
    num_prev_failed: int = betterproto.uint32_field(4)
    supports_package_tokens: int = betterproto.uint32_field(5)


@dataclass(eq=False, repr=False)
class CMsgClientPicsProductInfoRequestAppInfo(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    access_token: int = betterproto.uint64_field(2)
    only_public_obsolete: bool = betterproto.bool_field(3)


@dataclass(eq=False, repr=False)
class CMsgClientPicsProductInfoRequestPackageInfo(betterproto.Message):
    packageid: int = betterproto.uint32_field(1)
    access_token: int = betterproto.uint64_field(2)


@dataclass(eq=False, repr=False)
class CMsgClientPicsProductInfoResponse(betterproto.Message):
    apps: List["CMsgClientPicsProductInfoResponseAppInfo"] = betterproto.message_field(1)
    unknown_appids: List[int] = betterproto.uint32_field(2)
    packages: List["CMsgClientPicsProductInfoResponsePackageInfo"] = betterproto.message_field(3)
    unknown_packageids: List[int] = betterproto.uint32_field(4)
    meta_data_only: bool = betterproto.bool_field(5)
    response_pending: bool = betterproto.bool_field(6)
    http_min_size: int = betterproto.uint32_field(7)
    http_host: str = betterproto.string_field(8)


@dataclass(eq=False, repr=False)
class CMsgClientPicsProductInfoResponseAppInfo(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    change_number: int = betterproto.uint32_field(2)
    missing_token: bool = betterproto.bool_field(3)
    sha: bytes = betterproto.bytes_field(4)
    buffer: bytes = betterproto.bytes_field(5)
    only_public: bool = betterproto.bool_field(6)
    size: int = betterproto.uint32_field(7)


@dataclass(eq=False, repr=False)
class CMsgClientPicsProductInfoResponsePackageInfo(betterproto.Message):
    packageid: int = betterproto.uint32_field(1)
    change_number: int = betterproto.uint32_field(2)
    missing_token: bool = betterproto.bool_field(3)
    sha: bytes = betterproto.bytes_field(4)
    buffer: bytes = betterproto.bytes_field(5)
    size: int = betterproto.uint32_field(6)


@dataclass(eq=False, repr=False)
class CMsgClientPicsAccessTokenRequest(betterproto.Message):
    packageids: List[int] = betterproto.uint32_field(1)
    appids: List[int] = betterproto.uint32_field(2)


@dataclass(eq=False, repr=False)
class CMsgClientPicsAccessTokenResponse(betterproto.Message):
    package_access_tokens: List["CMsgClientPicsAccessTokenResponsePackageToken"] = betterproto.message_field(1)
    package_denied_tokens: List[int] = betterproto.uint32_field(2)
    app_access_tokens: List["CMsgClientPicsAccessTokenResponseAppToken"] = betterproto.message_field(3)
    app_denied_tokens: List[int] = betterproto.uint32_field(4)


@dataclass(eq=False, repr=False)
class CMsgClientPicsAccessTokenResponsePackageToken(betterproto.Message):
    packageid: int = betterproto.uint32_field(1)
    access_token: int = betterproto.uint64_field(2)


@dataclass(eq=False, repr=False)
class CMsgClientPicsAccessTokenResponseAppToken(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    access_token: int = betterproto.uint64_field(2)
