"""
ISO 8650-1 (ACSE) Types
"""
from scapy.asn1.asn1 import *
from .tags import ASN1_Tags_ACSE


class ASN1_AARQ_TYPE(ASN1_SEQUENCE):
    tag = ASN1_Tags_ACSE.AARQ_TYPE_TAG


class ASN1F_APPLICATION_CONTEXT_NAME(ASN1_OID):
    tag = ASN1_Tags_ACSE.APPLICATION_CONTEXT_NAME_TAG


class ASN1_CALLED_AP_TITLE_FORM_2(ASN1_OID):
    tag = ASN1_Tags_ACSE.CALLED_AP_TITLE_FORM_2_TAG


class ASN1_CALLED_AE_QUALIFIER_FORM_2(ASN1_INTEGER):
    tag = ASN1_Tags_ACSE.CALLED_AE_QUALIFIER_FORM_2_TAG


class ASN1_CALLING_AP_TITLE_FORM_2(ASN1_OID):
    tag = ASN1_Tags_ACSE.CALLING_AP_TITLE_FORM_2_TAG


class ASN1_CALLING_AE_QUALIFIER_FORM_2(ASN1_INTEGER):
    tag = ASN1_Tags_ACSE.CALLING_AE_QUALIFIER_FORM_2_TAG


class ASN1_USER_INFORMATION(ASN1_SEQUENCE):
    tag = ASN1_Tags_ACSE.USER_INFORMATION_TAG


class ASN1_EXTERNAL_T(ASN1_SEQUENCE):
    tag = ASN1_Tags_ACSE.EXTERNAL_T_TAG


class ASN1_INDIRECT_REFERENCE(ASN1_INTEGER):
    tag = ASN1_Tags_ACSE.INDIRECT_REFERENCE_TAG


class ASN1_ACSE_MMS_DATA(ASN1_SEQUENCE):
    tag = ASN1_Tags_ACSE.MMS_DATA_TAG


class ASN1_AARE_TYPE(ASN1_SEQUENCE):
    tag = ASN1_Tags_ACSE.AARE_TYPE_TAG


class ASN1_AARE_RESULT_TYPE(ASN1_INTEGER):
    tag = ASN1_Tags_ACSE.AARE_RESULT_TYPE_TAG


class ASN1F_ACSE_SERVICE_USER(ASN1_INTEGER):
    tag = ASN1_Tags_ACSE.ACSE_SERVICE_USER_TAG
