LibItsGeoNetworking_TypesAndValues.ttcn 39.9 KB
Newer Older
garciay's avatar
garciay committed
         * @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"
        };
        
        /**
         * @desc    Primitive used to activate security support
         */
        type record AcEnableSecurity {
garciay's avatar
garciay committed
            boolean enable,
            Oct32   signingPrivateKey,
            Oct32   signingPublicKeyX,
            Oct32   signingPublicKeyY,
            Oct32   encryptPrivateKey optional,
            Oct32   encryptPublicKeyX optional,
            Oct32   encryptPublicKeyY optional
        }
        
        /**
         * @desc    Primitive used to deactiate security support
         */
        type record AcDisableSecurity {
            // TODO To be refined, adding keys, certificates...?
            boolean disable
        }
        
garciay's avatar
garciay committed
    } // end acPrimitives
    with {
        encode "AdapterControl"
    }
}
with {
    encode "LibItsGeoNetworking"
}