-- Module Temporal-Relationships (T.424:07/1996)
-- See also ITU-T T.424 (07/1996)
-- See also the index of all ASN.1 assignments needed in this document

Temporal-Relationships {2 8 1 14 0} DEFINITIONS ::=
BEGIN

EXPORTS
  Temporal-Relations, Presentation-Time, Document-Presentation-Time,
    Time-Scaling;

IMPORTS
  Date-and-Time
    FROM Document-Profile-Descriptor {2 8 1 5 6}
  --  see ITU-T Rec. T.415 | ISO/IEC 8613-5 and C.4
  Object-or-Class-Identifier
    FROM Identifiers-and-Expressions {2 8 1 5 7};

--  see ITU-T Rec. T.415 | ISO/IEC 8613-5
Temporal-Relations ::= SET {
  synchronization-type  [0] IMPLICIT Synchronization-Type,
  subordinate-nodes
    [1]  SEQUENCE OF
           SET {node-identifier       [0] IMPLICIT Node-Identifier,
                start-time            [1] IMPLICIT Time-Delay OPTIONAL,
                duration              [2]  Indefinite-or-Time-Delay OPTIONAL,
                cyclic                [3] IMPLICIT Cyclic OPTIONAL,
                end-time              [4] IMPLICIT Time-Delay OPTIONAL,
                application-comments  [5] IMPLICIT OCTET STRING OPTIONAL
           }
}

--  The value 'null' is represented by an empty set
Synchronization-Type ::= INTEGER {
  parallel-last(0), parallel-first(1), parallel-selective(2), sequential(3)
}

Node-Identifier ::= PrintableString

--  only digits and spaces are used
--  the first digit is either 2 for a logical object class or 3 for a logical object
Cyclic ::= SET {
  number-of-cycles  [0]  CHOICE {indefinite  Indefinite,
                                 a           INTEGER},
  cycle-start-time  [1] IMPLICIT Time-Delay OPTIONAL,
  cycle-duration    [2]  Indefinite-or-Time-Delay OPTIONAL
}

Indefinite ::= NULL

Time-Delay ::= INTEGER {indefinite(-1)}

Presentation-Time ::= SET {
  timing
    CHOICE {fixed-timing     [0] IMPLICIT INTEGER,
            variable-timing  [1] IMPLICIT Time-Spec} OPTIONAL,
  duration
    CHOICE {fixed-duration
              [2]  CHOICE {indefinite-or-time-delay    Indefinite-or-Time-Delay,
                           object-or-class-identifier
                             Object-or-Class-Identifier},
            rule-A          [3] IMPLICIT Rule-Spec,
            rule-B          [4] IMPLICIT Rule-Spec} OPTIONAL,
  cyclic    [5]  Cyclic OPTIONAL
}

--  The value 'null' is represented by an empty set
Time-Spec ::= SET {
  start-offset      [0] IMPLICIT INTEGER OPTIONAL,
  end-offset        [1] IMPLICIT INTEGER OPTIONAL,
  start-separation  [2] IMPLICIT INTEGER OPTIONAL,
  end-separation    [3] IMPLICIT INTEGER OPTIONAL
}

Rule-Spec ::= SET {
  minimum-duration  [0] IMPLICIT INTEGER OPTIONAL,
  maximum-duration  [1] IMPLICIT INTEGER OPTIONAL
}

Indefinite-or-Time-Delay ::= CHOICE {
  indefinite  [0] IMPLICIT NULL,
  fixed       [1]  Time-Delay
}

Document-Presentation-Time ::= Date-and-Time

Time-Scaling ::= [0] IMPLICIT SEQUENCE {a  INTEGER,
                                        b  INTEGER
}

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