Skip to content
LibItsCommon_TypesAndValues.ttcn 5.44 KiB
Newer Older
/**
 *  @author      ETSI / STF405 / STF449
 *  @version     $URL$
 *               $Id$
 *  @desc        Module containing common types and values for ITS Protocols
 *
 */
module LibItsCommon_TypesAndValues {
    
garciay's avatar
garciay committed
    // LibCommon
    import from LibCommon_DataStrings all;
    
    // LibIts
    import from ITS_Container language "ASN.1:1997" all;

    group utPrimitives {
        
        /**
garciay's avatar
garciay committed
         * @desc Upper Tester message to initialize IUT 
         * @member hashedId8 In case of secured mode set, hashedId8 indicate which certificate the IUT shall use
         */
        type record UtInitialize {
garciay's avatar
garciay committed
            Oct8 hashedId8 
        }
        
        /**
         * @desc Upper Tester result message of the initialization request 
         */
        type boolean UtInitializeResult;
        
        /**
         * @desc Upper Tester message to change the position of IUT. Values a relatives 
         */
        type record UtChangePosition {
            integer latitude,
            integer longitude,
            integer elevation
        }
        
        /**
         * @desc Upper Tester result message of change position request of IUT 
         */
        type boolean UtChangePositionResult;
        
        /**
         * @desc Upper Tester message to change the pseudonym of the DENM IUT 
         */
        type record UtChangePseudonym {
            // empty on purpose
        }
        
        /**
         * @desc Upper Tester result message of the change pseudonym request 
         */
        type boolean UtChangePseudonymResult;
        
        /**
         * @desc Upper Tester message to activate position and/or time
         */
        type record UtActivatePositionTime {
            // empty on purpose
        }
        
        /**
         * @desc Upper Tester result message of the activate position and/or time request 
         */
        type boolean UtActivatePositionTimeResult;
        
        /**
         * @desc Upper Tester message to deactivate position and/or time
         */
        type record UtDeactivatePositionTime {
            // empty on purpose
        }
        
        /**
         * @desc Upper Tester result message of the deactivate position and/or time request 
         */
        type boolean UtDeactivatePositionTimeResult;
        
    }
    with {
        encode "UpperTester"
    }
    
    group acPrimitives {
        
        /**
         * @desc TA primitives for security support
         * @member acSetCertificate     Set the AT certificate to be used by the TA
         */
        type union AcSecPrimitive {
            AcSetAtCertificate acSetAtCertificate
        } // End of type AcSecPrimitive
        
        /**
         * @desc Describes the AT certificate to be used by the TA
         * @member atCertificateName The AT certificate name
         */
        type record AcSetAtCertificate {
            charstring atCertificateName
        } // End of type AcSetAtCertificate
        
        
        /**
         * @desc    Primitive for receiving response from TA
         */
        type boolean AcSecResponse;
        
        /**
         * @desc    TA primitives for DENM
         * @member  loadScenario                -
         * @member  startScenario               -
         * @member  stopScenario                -
         * @member  distanceCovered             -
         */
        type union AcGnssPrimitive {
            AcLoadScenario loadScenario,
            AcStartScenario startScenario,
            AcStopScenario stopScenario,
            AcDistanceToCover distanceToCover,
            AcChangeSpeed changeSpeed,
            AcChangeHeading changeHeading
        }
        
        /**
         * @desc    Primitive for receiving response from TA
         */
        type boolean AcGnssResponse;
        
        /**
         * @desc    Primitive for receiving an indication if requested distance was covered from TA
         */
        type boolean AcGnssDistanceCovered;
        
        /**
         * @desc    Primitive for loading a scenario
         * @member  scenario   Scenario to load
         */
        type record AcLoadScenario {
            Scenario scenario
        }
        
        type enumerated Scenario {
            e_staticPosition(0),
            e_dynamicPosition200m(200),
            e_dynamicPosition1000m(1000),
            e_dynamicPosition1500m(1500)
        }
        
        /**
         * @desc    Primitive for starting the loaded scenario
         */
        type record AcStartScenario {
        }
        
        /**
         * @desc    Primitive for stopping the loaded scenario
         */
        type record AcStopScenario {
        }
        
        /**
         * @desc Primitive to inform when given distance was covered
         */
        type record AcDistanceToCover {
            float distance
        }
        
        /**
         * @desc Primitive to change speed in current scenario
         */
        type record AcChangeSpeed {
            SpeedValue deltaSpeed
        }
        
        /**
         * @desc Primitive to change heading in current scenario
         */
        type record AcChangeHeading {
            HeadingValue deltaHeading
        }
        
    } // end acPrimitives
    with {
        encode "AdapterControl"
    }
    
}
with {
    encode "LibItsCommon"
}