/*
///////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2000-2019 Ericsson Telecom AB
//
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v2.0
// which accompanies this distribution, and is available at
// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
///////////////////////////////////////////////////////////////////////////////
//
//  File:               Remote_Operations_Information_Objects.asn
//  Rev:                R2B
//  Updated:            2007-02-20
//  Prodnr:             CNL 113 369
//  Contact:            http://ttcn.ericsson.se
//  Reference:          ITU-T Recommentations X.880
*/ 
-- Module Remote-Operations-Information-Objects (X.880:07/1994)
Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4)
  informationObjects(5) version2(1)} DEFINITIONS ::=
BEGIN

IMPORTS ;

-- exports everything
/*IMPORTS
  emptyBind, emptyUnbind
    FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
      remote-operations(4) useful-definitions(7) version2(1)};
*/
OPERATION ::= CLASS {
  &ArgumentType          OPTIONAL,
  &argumentTypeOptional  BOOLEAN OPTIONAL,
  &returnResult          BOOLEAN DEFAULT TRUE,
  &ResultType            OPTIONAL,
  &resultTypeOptional    BOOLEAN OPTIONAL,
  &Errors                ERROR OPTIONAL,
  &Linked                OPERATION OPTIONAL,
  &synchronous           BOOLEAN DEFAULT FALSE,
  &idempotent            BOOLEAN DEFAULT FALSE,
  &alwaysReturns         BOOLEAN DEFAULT TRUE,
  &invokePriority        Priority OPTIONAL,
  &resultPriority        Priority OPTIONAL,
  &operationCode         Code UNIQUE OPTIONAL
}
WITH SYNTAX {
  [ARGUMENT &ArgumentType
   [OPTIONAL &argumentTypeOptional]]
  [RESULT &ResultType
   [OPTIONAL &resultTypeOptional]]
  [RETURN RESULT &returnResult]
  [ERRORS &Errors]
  [LINKED &Linked]
  [SYNCHRONOUS &synchronous]
  [IDEMPOTENT &idempotent]
  [ALWAYS RESPONDS &alwaysReturns]
  [INVOKE PRIORITY &invokePriority]
  [RESULT-PRIORITY &resultPriority]
  [CODE &operationCode]
}

ERROR ::= CLASS {
  &ParameterType          OPTIONAL,
  &parameterTypeOptional  BOOLEAN OPTIONAL,
  &errorPriority          Priority OPTIONAL,
  &errorCode              Code UNIQUE OPTIONAL
}
WITH SYNTAX {
  [PARAMETER &ParameterType
   [OPTIONAL &parameterTypeOptional]]
  [PRIORITY &errorPriority]
  [CODE &errorCode]
}

OPERATION-PACKAGE ::= CLASS {
  &Both      OPERATION OPTIONAL,
  &Consumer  OPERATION OPTIONAL,
  &Supplier  OPERATION OPTIONAL,
  &id        OBJECT IDENTIFIER UNIQUE OPTIONAL
}
-- continued on the next page
WITH SYNTAX {
  [OPERATIONS &Both]
  [CONSUMER INVOKES &Supplier]
  [SUPPLIER INVOKES &Consumer]
  [ID &id]
}
/*
CONNECTION-PACKAGE ::= CLASS {
  &bind                OPERATION DEFAULT emptyBind,
  &unbind              OPERATION DEFAULT emptyUnbind,
  &responderCanUnbind  BOOLEAN DEFAULT FALSE,
  &unbindCanFail       BOOLEAN DEFAULT FALSE,
  &id                  OBJECT IDENTIFIER UNIQUE OPTIONAL
}
WITH SYNTAX {
  [BIND &bind]
  [UNBIND &unbind]
  [RESPONDER UNBIND &responderCanUnbind]
  [FAILURE TO UNBIND &unbindCanFail]
  [ID &id]
}
*/
CONTRACT ::= CLASS {
/*  &connection           CONNECTION-PACKAGE OPTIONAL,*/
  &OperationsOf         OPERATION-PACKAGE OPTIONAL,
  &InitiatorConsumerOf  OPERATION-PACKAGE OPTIONAL,
  &InitiatorSupplierOf  OPERATION-PACKAGE OPTIONAL,
  &id                   OBJECT IDENTIFIER UNIQUE OPTIONAL
}
WITH SYNTAX {
/*  [CONNECTION &connection]*/
  [OPERATIONS OF &OperationsOf]
  [INITIATOR CONSUMER OF &InitiatorConsumerOf]
  [RESPONDER CONSUMER OF &InitiatorSupplierOf]
  [ID &id]
}

ROS-OBJECT-CLASS ::= CLASS {
  &Is                    ROS-OBJECT-CLASS OPTIONAL,
  &Initiates             CONTRACT OPTIONAL,
  &Responds              CONTRACT OPTIONAL,
  &InitiatesAndResponds  CONTRACT OPTIONAL,
  &id                    OBJECT IDENTIFIER UNIQUE
}
WITH SYNTAX {
  [IS &Is]
  [BOTH &InitiatesAndResponds]
  [INITIATES &Initiates]
  [RESPONDS &Responds]
  ID &id
}

Code ::= CHOICE {local   INTEGER,
                 global  OBJECT IDENTIFIER
}

Priority ::= INTEGER(0..MAX)

END -- end of Information Object specifications

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

