1#include <vanetza/security/v3/asn1_types.hpp>
2#include <vanetza/security/v3/distance.hpp>
3#include <vanetza/security/v3/geometry.hpp>
4#include <vanetza/security/v3/location_checker.hpp>
13bool AllowLocationChecker::valid_at_location(
const asn1::EtsiTs103097Certificate& cert,
const PositionFix& location)
const
18bool DenyLocationChecker::valid_at_location(
const asn1::EtsiTs103097Certificate& cert,
const PositionFix& location)
const
23bool DefaultLocationChecker::valid_at_location(
const asn1::EtsiTs103097Certificate& cert,
const PositionFix& location)
const
25 const asn1::GeographicRegion* region = cert.toBeSigned.region;
27 switch (region->present) {
28 case Vanetza_Security_GeographicRegion_PR_circularRegion:
29 return is_inside(location, region->choice.circularRegion);
30 case Vanetza_Security_GeographicRegion_PR_rectangularRegion:
31 return is_inside(location, region->choice.rectangularRegion);
32 case Vanetza_Security_GeographicRegion_PR_polygonalRegion:
33 return is_inside(location, region->choice.polygonalRegion);
35 case Vanetza_Security_GeographicRegion_PR_identifiedRegion: