Skip to main content

Module agencies

Module agencies 

Source
Expand description

Regulatory, standards-setting, and maintaining agencies.

Agency describes an organisation with a name, optional abbreviation, an AgencyKind classification, and an optional Jurisdiction.

Several well-known agencies are available as convenience constructors: agency_itu, agency_iaru, agency_arrl, agency_fcc, agency_ofcom, agency_rsgb.

§Examples

use rfham_core::agency::{agency_fcc, agency_itu, AgencyKind};
use rfham_core::country::CountryCode;
use std::str::FromStr;

let itu = agency_itu();
assert_eq!(itu.abbreviation().map(|s| s.as_str()), Some("ITU"));
assert!(itu.kind().is_standards_setting());

let fcc = agency_fcc();
assert!(fcc.kind().is_regulatory());
let us = CountryCode::from_str("US").unwrap();
assert_eq!(fcc.within_jurisdiction(&us), Some(true));
let gb = CountryCode::from_str("GB").unwrap();
assert_eq!(fcc.within_jurisdiction(&gb), Some(false));

AgencyKind serialises to its short string form:

use rfham_core::agency::AgencyKind;
use std::str::FromStr;

assert_eq!(AgencyKind::Regulatory.to_string(), "regulatory");
assert_eq!(AgencyKind::from_str("maintaining").unwrap(), AgencyKind::Maintaining);

Structs§

Agency

Enums§

AgencyKind
Jurisdiction

Functions§

agency_arrl
agency_fcc
agency_iaru
agency_itu
agency_ofcom
agency_rsgb