LibItsGeoNetworking_TypesAndValues.ttcn 39.5 KB
Newer Older
garciay's avatar
garciay committed
    group acPrimitives {
        
        /**
         * @desc    TA primitives for GeoNetworking
         * @member  startBeaconing                  -
         * @member  stopBeaconing                   -
         * @member  startPassBeaconing              -
         * @member  stopPassBeaconing               -
         * @member  startBeaconingMultipleNeighbour -
         * @member  stopBeaconingMultipleNeighbour  -
         * @member  getLongPosVector                -
         * @member  acEnableSecurity                -
         * @member  acDisableSecurity               -
garciay's avatar
garciay committed
         */
        type union AcGnPrimitive {
            AcStartBeaconing startBeaconing,
            AcStopBeaconing stopBeaconing,
            AcStartPassBeaconing startPassBeaconing,
            AcStopPassBeaconing stopPassBeaconing,
            AcStartBeaconingMultipleNeighbour startBeaconingMultipleNeighbour,
            AcStopBeaconingMultipleNeighbour stopBeaconingMultipleNeighbour,
            AcGetLongPosVector getLongPosVector,
            AcEnableSecurity acEnableSecurity,
            AcDisableSecurity acDisableSecurity
garciay's avatar
garciay committed
        }
        
        /**
         * @desc    Primitive for receiveing response from TA
         * @member  getLongPosVector
         */
        type union AcGnResponse {
            LongPosVector getLongPosVector,
            AcGnResponseFailure failure
        }
        with {
            encode(getLongPosVector) "LibItsGeoNetworking"
        };
        
        type record AcGnResponseFailure {
            boolean     failure
        }
        
        /**
         * @desc    Primitive for TA to start sending beacons for the test component
         * @member  beaconHeader        Beacon template
         */
        type record AcStartBeaconing {
            GeoNetworkingPdu beaconPacket
        }
        with {
            encode(beaconPacket) "LibItsGeoNetworking"
        };
        
        /**
         * @desc    Primitive for TA to stop sending beacons for the test component
         */
        type record AcStopBeaconing {
        }
        
        /**
         * @desc    Primitive for TA to start enqueueing received beacons
         * @member  beaconHeader    Filter
         */
        type record AcStartPassBeaconing {
            BeaconHeader beaconHeader
        }
        with {
            encode(beaconHeader) "LibItsGeoNetworking"
        };
        
        /**
         * @desc    Primitive for TA to stop enqueueing received beacons
         */
        type record AcStopPassBeaconing {
        }
        
        /**
         * @desc    Primitive for TA to start sending beacons for multiple neighbours
         * @member  beaconHeader        Beacon template
         * @member  numberOfNeighbour   Number of neighbours to simulate
         */
        type record AcStartBeaconingMultipleNeighbour {
            GeoNetworkingPdu beaconPacket,
            integer numberOfNeighbour
        }
        with {
            encode(beaconPacket) "LibItsGeoNetworking"
        };
        
        /**
         * @desc    Primitive for TA to stop sending beacons for multiple neighbours
         */
        type record AcStopBeaconingMultipleNeighbour {
        }
        
        /**
         * @desc    Primitive for retrieving the position vector corresponding to a specific GN address
         * @member  gnAddress   GN address to be searched
         */
        type record AcGetLongPosVector {
            GN_Address gnAddress
        }
        with {
            encode(gnAddress) "LibItsGeoNetworking"
        };
        
    } // end acPrimitives
    with {
        encode "AdapterControl"
    }
}
with {
    encode "LibItsGeoNetworking"
}