-- Module GrmAttributeDefinitionModule (X.750:10/1996)
-- See also ITU-T X.750 (1996) Technical Cor. 1 (02/2000)
-- See also the index of all ASN.1 assignments needed in this document

GrmAttributeDefinitionModule {joint-iso-itu-t(2) ms(9) function(2) part16(16)
  asn1Modules(2) 6} DEFINITIONS IMPLICIT TAGS ::=
BEGIN

--  EXPORTS everything;
IMPORTS
  DefinedType, Identifier, OptionallyRegisteredAs, TemplateLabel, TemplateList
    FROM DefinitionASN1Module {joint-iso-itu-t(2) ms(9) function(2) part16(16)
      asn1Modules(2) 1}-- this Recommendation | International Standard
  ;

LabelAndParameters ::= SEQUENCE {
  label       TemplateLabel,
  parameters  TemplateList OPTIONAL
}

MappedRelationshipClass ::= TemplateLabel

MappingPair ::= SEQUENCE {
  relationshipOperation  RelationshipOperation,
  mapsTo                 MapsTo
}

MapsTo ::= SET OF MapsToPair

MapsToPair ::= SEQUENCE {
  systemsMgtOperation       SystemsMgtOperation,
  roleOrRelationshipObject  RoleOrRelationshipObject
}

OperationsMapping ::= SET OF MappingPair

OptionalIdentifier ::= CHOICE {present  Identifier,
                               absent   NULL
}

OptionalIdentifierAndRole ::= SEQUENCE {
  optionalOperationName  OptionalIdentifier,
  optionalRoleName       Identifier OPTIONAL
}

OptionalLabelAndParameters ::= SEQUENCE {
  label       TemplateLabel OPTIONAL,
  parameters  TemplateList OPTIONAL
}

QualifiedBy ::= TemplateList

RelationshipObject ::= SEQUENCE {
  class      TemplateLabel,
  qualifies  TemplateList OPTIONAL
}

RelationshipOperation ::= CHOICE {
  establish    [0] EXPLICIT OptionalIdentifier,
  terminate    [1] EXPLICIT OptionalIdentifier,
  query        [2]  OptionalIdentifierAndRole,
  notify       [3] EXPLICIT OptionalIdentifier,
  userDefined  [4] EXPLICIT OptionalIdentifier,
  bind         [5]  OptionalIdentifierAndRole,
  unbind       [6]  OptionalIdentifierAndRole
}

Representation ::= CHOICE {
  nameBindingSuperior        [0]  TemplateLabel,
  nameBindingSubordinate     [1]  TemplateLabel,
  attribute                  [2]  TemplateLabel,
  relationshipObjectPointer  [3]  TemplateLabel,
  operation                  NULL
}

RoleMappingSpecification ::= SEQUENCE {
  role            Identifier,
  relatedClasses  TemplateList,
  representedBy   [0] EXPLICIT Representation OPTIONAL,
  qualifies       [1]  TemplateList OPTIONAL
}

RoleMappingSpecificationSet ::= SET OF RoleMappingSpecification

RoleOrRelationshipObject ::= CHOICE {
  role                Identifier,
  relationshipObject  NULL
}

RoleSpecifier ::= SEQUENCE {
  role                              Identifier,
  compatibleWith                    [0]  TemplateLabel OPTIONAL,
  permittedRoleCardinality          [1]  DefinedType OPTIONAL,
  requiredRoleCardinality           [2]  DefinedType OPTIONAL,
  bindingSupport                    [3] EXPLICIT OptionalIdentifier OPTIONAL,
  unbindingSupport                  [4] EXPLICIT OptionalIdentifier OPTIONAL,
  permittedRelationshipCardinality  [5]  DefinedType OPTIONAL,
  optionalRegisteredAs              OptionallyRegisteredAs
}

SupportedChoice ::= CHOICE {
  establish    [0] EXPLICIT OptionalIdentifier,
  terminate    [1] EXPLICIT OptionalIdentifier,
  query        [2] EXPLICIT OptionalIdentifier,
  notify       [3] EXPLICIT OptionalIdentifier,
  userDefined  [4] EXPLICIT OptionalIdentifier
}

Supports ::= SET OF SupportedChoice

SystemsMgtOperation ::= CHOICE {
  get           [0]  LabelAndParameters,
  replace       [1]  LabelAndParameters,
  add           [2]  LabelAndParameters,
  remove        [3]  LabelAndParameters,
  create        [4]  OptionalLabelAndParameters,
  delete        [5]  TemplateList,
  action        [6]  LabelAndParameters,
  notification  [7]  LabelAndParameters
}

END
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D