#[derive(Clone, Debug, PartialEq, PartialOrd)]
pub enum IptcKeyValue {
AltTextAccessibility(::alloc::string::String),
CityLegacy(::alloc::string::String),
CopyrightNotice(::alloc::string::String),
CountryLegacy(::alloc::string::String),
CountryCodeLegacy(::alloc::string::String),
Creator(::alloc::vec::Vec<::alloc::string::String>),
CreatorsContactInfo(crate::iptc::structs::CreatorContactInfo),
CreatorsJobtitle(::alloc::string::String),
CreditLine(::alloc::string::String),
DateCreated(::alloc::string::String),
Description(::alloc::string::String),
DescriptionWriter(::alloc::string::String),
ExtendedDescriptionAccessibility(::alloc::string::String),
Headline(::alloc::string::String),
Instructions(::alloc::string::String),
IntellectualGenreLegacy(::alloc::string::String),
JobId(::alloc::string::String),
Keywords(::alloc::vec::Vec<::alloc::string::String>),
ProvinceOrStateLegacy(::alloc::string::String),
RightsUsageTerms(::alloc::string::String),
SceneCode(::alloc::vec::Vec<::alloc::string::String>),
SourceSupplyChain(::alloc::string::String),
SubjectCodeLegacy(::alloc::vec::Vec<::alloc::string::String>),
SublocationLegacy(::alloc::string::String),
Title(::alloc::string::String),
AdditionalModelInformation(::alloc::string::String),
ArtworkOrObjectInTheImage(::alloc::vec::Vec<crate::iptc::structs::ArtworkOrObject>),
CodeOfOrganisationFeaturedInTheImage(::alloc::vec::Vec<::alloc::string::String>),
Contributor(::alloc::vec::Vec<crate::iptc::structs::EntityWRole>),
CopyrightOwner(::alloc::vec::Vec<crate::iptc::structs::CopyrightOwner>),
CvTermAboutImage(::alloc::vec::Vec<crate::iptc::structs::CvTerm>),
DataMining(::alloc::string::String),
OtherConstraints(::alloc::string::String),
DigitalImageGuid(::alloc::string::String),
DigitalSourceType(::alloc::string::String),
EmbeddedEncodedRightsExpression(::alloc::vec::Vec<crate::iptc::structs::EmbdEncRightsExpr>),
EventIdentifier(::alloc::vec::Vec<::alloc::string::String>),
EventName(::alloc::string::String),
Genre(::alloc::vec::Vec<crate::iptc::structs::CvTerm>),
ImageCreator(::alloc::vec::Vec<crate::iptc::structs::ImageCreator>),
ImageRating(f64),
ImageRegion(::alloc::vec::Vec<crate::iptc::structs::ImageRegion>),
ImageRegistryEntry(::alloc::vec::Vec<crate::iptc::structs::RegistryEntry>),
ImageSupplier(::alloc::vec::Vec<crate::iptc::structs::ImageSupplier>),
ImageSupplierImageId(::alloc::string::String),
Licensor(::alloc::vec::Vec<crate::iptc::structs::Licensor>),
LinkedEncodedRightsExpression(::alloc::vec::Vec<crate::iptc::structs::LinkedEncRightsExpr>),
LocationCreated(::alloc::vec::Vec<crate::iptc::structs::Location>),
LocationShownInTheImage(::alloc::vec::Vec<crate::iptc::structs::Location>),
MaxAvailHeight(i64),
MaxAvailWidth(i64),
MinorModelAgeDisclosure(::alloc::string::String),
ModelAge(::alloc::vec::Vec<i64>),
ModelReleaseId(::alloc::vec::Vec<::alloc::string::String>),
ModelReleaseStatus(::alloc::string::String),
NameOfOrganisationFeaturedInTheImage(::alloc::vec::Vec<::alloc::string::String>),
PersonShownInTheImage(::alloc::vec::Vec<::alloc::string::String>),
PersonShownInTheImageWithDetails(::alloc::vec::Vec<crate::iptc::structs::PersonWDetails>),
ProductShownInTheImage(::alloc::vec::Vec<crate::iptc::structs::ProductWGtin>),
PropertyReleaseId(::alloc::vec::Vec<::alloc::string::String>),
PropertyReleaseStatus(::alloc::string::String),
WebStatementOfRights(::alloc::string::String),
}
impl IptcKeyValue {
pub const fn name(&self) -> &'static str {
match self {
IptcKeyValue::AltTextAccessibility { .. } => "Alt Text (Accessibility)",
IptcKeyValue::CityLegacy { .. } => "City (legacy)",
IptcKeyValue::CopyrightNotice { .. } => "Copyright Notice",
IptcKeyValue::CountryLegacy { .. } => "Country (legacy)",
IptcKeyValue::CountryCodeLegacy { .. } => "Country Code (legacy)",
IptcKeyValue::Creator { .. } => "Creator",
IptcKeyValue::CreatorsContactInfo { .. } => "Creator's Contact Info",
IptcKeyValue::CreatorsJobtitle { .. } => "Creator's jobtitle",
IptcKeyValue::CreditLine { .. } => "Credit Line",
IptcKeyValue::DateCreated { .. } => "Date Created",
IptcKeyValue::Description { .. } => "Description",
IptcKeyValue::DescriptionWriter { .. } => "Description Writer",
IptcKeyValue::ExtendedDescriptionAccessibility { .. } => "Extended Description (Accessibility)",
IptcKeyValue::Headline { .. } => "Headline",
IptcKeyValue::Instructions { .. } => "Instructions",
IptcKeyValue::IntellectualGenreLegacy { .. } => "Intellectual Genre (legacy)",
IptcKeyValue::JobId { .. } => "Job Id",
IptcKeyValue::Keywords { .. } => "Keywords",
IptcKeyValue::ProvinceOrStateLegacy { .. } => "Province or State (legacy)",
IptcKeyValue::RightsUsageTerms { .. } => "Rights Usage Terms",
IptcKeyValue::SceneCode { .. } => "Scene Code",
IptcKeyValue::SourceSupplyChain { .. } => "Source (Supply Chain)",
IptcKeyValue::SubjectCodeLegacy { .. } => "Subject Code (legacy)",
IptcKeyValue::SublocationLegacy { .. } => "Sublocation (legacy)",
IptcKeyValue::Title { .. } => "Title",
IptcKeyValue::AdditionalModelInformation { .. } => "Additional Model Information",
IptcKeyValue::ArtworkOrObjectInTheImage { .. } => "Artwork or Object in the Image",
IptcKeyValue::CodeOfOrganisationFeaturedInTheImage { .. } => "Code of Organisation Featured in the Image",
IptcKeyValue::Contributor { .. } => "Contributor",
IptcKeyValue::CopyrightOwner { .. } => "Copyright Owner",
IptcKeyValue::CvTermAboutImage { .. } => "CV-Term About Image",
IptcKeyValue::DataMining { .. } => "Data Mining",
IptcKeyValue::OtherConstraints { .. } => "Other Constraints",
IptcKeyValue::DigitalImageGuid { .. } => "Digital Image GUID",
IptcKeyValue::DigitalSourceType { .. } => "Digital Source Type",
IptcKeyValue::EmbeddedEncodedRightsExpression { .. } => "Embedded Encoded Rights Expression",
IptcKeyValue::EventIdentifier { .. } => "Event Identifier",
IptcKeyValue::EventName { .. } => "Event Name",
IptcKeyValue::Genre { .. } => "Genre",
IptcKeyValue::ImageCreator { .. } => "Image Creator",
IptcKeyValue::ImageRating { .. } => "Image Rating",
IptcKeyValue::ImageRegion { .. } => "Image Region",
IptcKeyValue::ImageRegistryEntry { .. } => "Image Registry Entry",
IptcKeyValue::ImageSupplier { .. } => "Image Supplier",
IptcKeyValue::ImageSupplierImageId { .. } => "Image Supplier Image ID",
IptcKeyValue::Licensor { .. } => "Licensor",
IptcKeyValue::LinkedEncodedRightsExpression { .. } => "Linked Encoded Rights Expression",
IptcKeyValue::LocationCreated { .. } => "Location Created",
IptcKeyValue::LocationShownInTheImage { .. } => "Location Shown in the Image",
IptcKeyValue::MaxAvailHeight { .. } => "Max Avail Height",
IptcKeyValue::MaxAvailWidth { .. } => "Max Avail Width",
IptcKeyValue::MinorModelAgeDisclosure { .. } => "Minor Model Age Disclosure",
IptcKeyValue::ModelAge { .. } => "Model Age",
IptcKeyValue::ModelReleaseId { .. } => "Model Release Id",
IptcKeyValue::ModelReleaseStatus { .. } => "Model Release Status",
IptcKeyValue::NameOfOrganisationFeaturedInTheImage { .. } => "Name of Organisation Featured in the Image",
IptcKeyValue::PersonShownInTheImage { .. } => "Person Shown in the Image",
IptcKeyValue::PersonShownInTheImageWithDetails { .. } => "Person Shown in the Image with Details",
IptcKeyValue::ProductShownInTheImage { .. } => "Product Shown in the Image",
IptcKeyValue::PropertyReleaseId { .. } => "Property Release Id",
IptcKeyValue::PropertyReleaseStatus { .. } => "Property Release Status",
IptcKeyValue::WebStatementOfRights { .. } => "Web Statement of Rights",
}
}
pub const fn label(&self) -> &'static str {
match self {
IptcKeyValue::AltTextAccessibility { .. } => "Alt Text (Accessibility)",
IptcKeyValue::CityLegacy { .. } => "City",
IptcKeyValue::CopyrightNotice { .. } => "Copyright Notice",
IptcKeyValue::CountryLegacy { .. } => "Country",
IptcKeyValue::CountryCodeLegacy { .. } => "ISO Country Code",
IptcKeyValue::Creator { .. } => "Creator",
IptcKeyValue::CreatorsContactInfo { .. } => "Creator's Contact info",
IptcKeyValue::CreatorsJobtitle { .. } => "Creator's Jobtitle",
IptcKeyValue::CreditLine { .. } => "Credit Line",
IptcKeyValue::DateCreated { .. } => "Date Created",
IptcKeyValue::Description { .. } => "Caption/Description",
IptcKeyValue::DescriptionWriter { .. } => "Caption/Description writer",
IptcKeyValue::ExtendedDescriptionAccessibility { .. } => "Extended Description (Accessibility)",
IptcKeyValue::Headline { .. } => "Headline",
IptcKeyValue::Instructions { .. } => "Instructions",
IptcKeyValue::IntellectualGenreLegacy { .. } => "Intellectual genre",
IptcKeyValue::JobId { .. } => "Job Identifier",
IptcKeyValue::Keywords { .. } => "Keywords",
IptcKeyValue::ProvinceOrStateLegacy { .. } => "Province/State",
IptcKeyValue::RightsUsageTerms { .. } => "Rights Usage Terms",
IptcKeyValue::SceneCode { .. } => "IPTC Scene Code",
IptcKeyValue::SourceSupplyChain { .. } => "Source (Supply Chain)",
IptcKeyValue::SubjectCodeLegacy { .. } => "IPTC Subject Code",
IptcKeyValue::SublocationLegacy { .. } => "Sublocation",
IptcKeyValue::Title { .. } => "Title",
IptcKeyValue::AdditionalModelInformation { .. } => "Additional model info",
IptcKeyValue::ArtworkOrObjectInTheImage { .. } => "Artwork or object in the image",
IptcKeyValue::CodeOfOrganisationFeaturedInTheImage { .. } => "Code of featured Organisation",
IptcKeyValue::Contributor { .. } => "Contributor",
IptcKeyValue::CopyrightOwner { .. } => "Copyright owner",
IptcKeyValue::CvTermAboutImage { .. } => "CV-Term About Image",
IptcKeyValue::DataMining { .. } => "Data Mining",
IptcKeyValue::OtherConstraints { .. } => "Constraint",
IptcKeyValue::DigitalImageGuid { .. } => "Digital Image Identifier",
IptcKeyValue::DigitalSourceType { .. } => "Type of source for this photo",
IptcKeyValue::EmbeddedEncodedRightsExpression { .. } => "Embedded Encoded Rights Expression",
IptcKeyValue::EventIdentifier { .. } => "Event ID",
IptcKeyValue::EventName { .. } => "Event Name",
IptcKeyValue::Genre { .. } => "Genre",
IptcKeyValue::ImageCreator { .. } => "Image Creator",
IptcKeyValue::ImageRating { .. } => "Rating",
IptcKeyValue::ImageRegion { .. } => "Image Region(s)",
IptcKeyValue::ImageRegistryEntry { .. } => "Registry Entry",
IptcKeyValue::ImageSupplier { .. } => "Image Supplier",
IptcKeyValue::ImageSupplierImageId { .. } => "Image Supplier Image Id",
IptcKeyValue::Licensor { .. } => "Licensor",
IptcKeyValue::LinkedEncodedRightsExpression { .. } => "Linked Encoded Rights Expression",
IptcKeyValue::LocationCreated { .. } => "Location Created",
IptcKeyValue::LocationShownInTheImage { .. } => "Location shown",
IptcKeyValue::MaxAvailHeight { .. } => "Maximum available height",
IptcKeyValue::MaxAvailWidth { .. } => "Maximum available width",
IptcKeyValue::MinorModelAgeDisclosure { .. } => "Minor Model Age Disclosure",
IptcKeyValue::ModelAge { .. } => "Model age",
IptcKeyValue::ModelReleaseId { .. } => "Model Release Id",
IptcKeyValue::ModelReleaseStatus { .. } => "Model Release Status",
IptcKeyValue::NameOfOrganisationFeaturedInTheImage { .. } => "Name of featured Organisation",
IptcKeyValue::PersonShownInTheImage { .. } => "Person shown",
IptcKeyValue::PersonShownInTheImageWithDetails { .. } => "Person Shown (Details)",
IptcKeyValue::ProductShownInTheImage { .. } => "Product Shown",
IptcKeyValue::PropertyReleaseId { .. } => "Property Release Id",
IptcKeyValue::PropertyReleaseStatus { .. } => "Property Release Status",
IptcKeyValue::WebStatementOfRights { .. } => "Copyright Info URL",
}
}
pub const fn xmp_id(&self) -> &'static str {
match self {
IptcKeyValue::AltTextAccessibility { .. } => "Iptc4xmpCore:AltTextAccessibility",
IptcKeyValue::CityLegacy { .. } => "photoshop:City",
IptcKeyValue::CopyrightNotice { .. } => "dc:rights",
IptcKeyValue::CountryLegacy { .. } => "photoshop:Country",
IptcKeyValue::CountryCodeLegacy { .. } => "Iptc4xmpCore:CountryCode",
IptcKeyValue::Creator { .. } => "dc:creator",
IptcKeyValue::CreatorsContactInfo { .. } => "Iptc4xmpCore:CreatorContactInfo",
IptcKeyValue::CreatorsJobtitle { .. } => "photoshop:AuthorsPosition",
IptcKeyValue::CreditLine { .. } => "photoshop:Credit",
IptcKeyValue::DateCreated { .. } => "photoshop:DateCreated",
IptcKeyValue::Description { .. } => "dc:description",
IptcKeyValue::DescriptionWriter { .. } => "photoshop:CaptionWriter",
IptcKeyValue::ExtendedDescriptionAccessibility { .. } => "Iptc4xmpCore:ExtDescrAccessibility",
IptcKeyValue::Headline { .. } => "photoshop:Headline",
IptcKeyValue::Instructions { .. } => "photoshop:Instructions",
IptcKeyValue::IntellectualGenreLegacy { .. } => "Iptc4xmpCore:IntellectualGenre",
IptcKeyValue::JobId { .. } => "photoshop:TransmissionReference",
IptcKeyValue::Keywords { .. } => "dc:subject",
IptcKeyValue::ProvinceOrStateLegacy { .. } => "photoshop:State",
IptcKeyValue::RightsUsageTerms { .. } => "xmpRights:UsageTerms",
IptcKeyValue::SceneCode { .. } => "Iptc4xmpCore:Scene",
IptcKeyValue::SourceSupplyChain { .. } => "photoshop:Source",
IptcKeyValue::SubjectCodeLegacy { .. } => "Iptc4xmpCore:SubjectCode",
IptcKeyValue::SublocationLegacy { .. } => "Iptc4xmpCore:Location",
IptcKeyValue::Title { .. } => "dc:title",
IptcKeyValue::AdditionalModelInformation { .. } => "Iptc4xmpExt:AddlModelInfo",
IptcKeyValue::ArtworkOrObjectInTheImage { .. } => "Iptc4xmpExt:ArtworkOrObject",
IptcKeyValue::CodeOfOrganisationFeaturedInTheImage { .. } => "Iptc4xmpExt:OrganisationInImageCode",
IptcKeyValue::Contributor { .. } => "Iptc4xmpExt:Contributor",
IptcKeyValue::CopyrightOwner { .. } => "plus:CopyrightOwner",
IptcKeyValue::CvTermAboutImage { .. } => "Iptc4xmpExt:AboutCvTerm",
IptcKeyValue::DataMining { .. } => "plus:DataMining",
IptcKeyValue::OtherConstraints { .. } => "plus:OtherConstraints",
IptcKeyValue::DigitalImageGuid { .. } => "Iptc4xmpExt:DigImageGUID",
IptcKeyValue::DigitalSourceType { .. } => "Iptc4xmpExt:DigitalSourceType",
IptcKeyValue::EmbeddedEncodedRightsExpression { .. } => "Iptc4xmpExt:EmbdEncRightsExpr",
IptcKeyValue::EventIdentifier { .. } => "Iptc4xmpExt:EventId",
IptcKeyValue::EventName { .. } => "Iptc4xmpExt:Event",
IptcKeyValue::Genre { .. } => "Iptc4xmpExt:Genre",
IptcKeyValue::ImageCreator { .. } => "plus:ImageCreator",
IptcKeyValue::ImageRating { .. } => "xmp:Rating",
IptcKeyValue::ImageRegion { .. } => "Iptc4xmpExt:ImageRegion",
IptcKeyValue::ImageRegistryEntry { .. } => "Iptc4xmpExt:RegistryId",
IptcKeyValue::ImageSupplier { .. } => "plus:ImageSupplier",
IptcKeyValue::ImageSupplierImageId { .. } => "plus:ImageSupplierImageID",
IptcKeyValue::Licensor { .. } => "plus:Licensor",
IptcKeyValue::LinkedEncodedRightsExpression { .. } => "Iptc4xmpExt:LinkedEncRightsExpr",
IptcKeyValue::LocationCreated { .. } => "Iptc4xmpExt:LocationCreated",
IptcKeyValue::LocationShownInTheImage { .. } => "Iptc4xmpExt:LocationShown",
IptcKeyValue::MaxAvailHeight { .. } => "Iptc4xmpExt:MaxAvailHeight",
IptcKeyValue::MaxAvailWidth { .. } => "Iptc4xmpExt:MaxAvailWidth",
IptcKeyValue::MinorModelAgeDisclosure { .. } => "plus:MinorModelAgeDisclosure",
IptcKeyValue::ModelAge { .. } => "Iptc4xmpExt:ModelAge",
IptcKeyValue::ModelReleaseId { .. } => "plus:ModelReleaseID",
IptcKeyValue::ModelReleaseStatus { .. } => "plus:ModelReleaseStatus",
IptcKeyValue::NameOfOrganisationFeaturedInTheImage { .. } => "Iptc4xmpExt:OrganisationInImageName",
IptcKeyValue::PersonShownInTheImage { .. } => "Iptc4xmpExt:PersonInImage",
IptcKeyValue::PersonShownInTheImageWithDetails { .. } => "Iptc4xmpExt:PersonInImageWDetails",
IptcKeyValue::ProductShownInTheImage { .. } => "Iptc4xmpExt:ProductInImage",
IptcKeyValue::PropertyReleaseId { .. } => "plus:PropertyReleaseID",
IptcKeyValue::PropertyReleaseStatus { .. } => "plus:PropertyReleaseStatus",
IptcKeyValue::WebStatementOfRights { .. } => "xmpRights:WebStatement",
}
}
pub const fn iim_id(&self) -> Option<&'static str> {
match self {
IptcKeyValue::AltTextAccessibility { .. } => None,
IptcKeyValue::CityLegacy { .. } => Some("2:90"),
IptcKeyValue::CopyrightNotice { .. } => Some("2:116"),
IptcKeyValue::CountryLegacy { .. } => Some("2:101"),
IptcKeyValue::CountryCodeLegacy { .. } => Some("2:100"),
IptcKeyValue::Creator { .. } => Some("2:80"),
IptcKeyValue::CreatorsContactInfo { .. } => None,
IptcKeyValue::CreatorsJobtitle { .. } => Some("2:85"),
IptcKeyValue::CreditLine { .. } => Some("2:110"),
IptcKeyValue::DateCreated { .. } => Some("2:55"),
IptcKeyValue::Description { .. } => Some("2:120"),
IptcKeyValue::DescriptionWriter { .. } => Some("2:122"),
IptcKeyValue::ExtendedDescriptionAccessibility { .. } => None,
IptcKeyValue::Headline { .. } => Some("2:105"),
IptcKeyValue::Instructions { .. } => Some("2:40"),
IptcKeyValue::IntellectualGenreLegacy { .. } => Some("2:04"),
IptcKeyValue::JobId { .. } => Some("2:103"),
IptcKeyValue::Keywords { .. } => Some("2:25"),
IptcKeyValue::ProvinceOrStateLegacy { .. } => Some("2:95"),
IptcKeyValue::RightsUsageTerms { .. } => None,
IptcKeyValue::SceneCode { .. } => None,
IptcKeyValue::SourceSupplyChain { .. } => Some("2:115"),
IptcKeyValue::SubjectCodeLegacy { .. } => Some("2:12"),
IptcKeyValue::SublocationLegacy { .. } => Some("2:92"),
IptcKeyValue::Title { .. } => Some("2:05"),
IptcKeyValue::AdditionalModelInformation { .. } => None,
IptcKeyValue::ArtworkOrObjectInTheImage { .. } => None,
IptcKeyValue::CodeOfOrganisationFeaturedInTheImage { .. } => None,
IptcKeyValue::Contributor { .. } => None,
IptcKeyValue::CopyrightOwner { .. } => None,
IptcKeyValue::CvTermAboutImage { .. } => None,
IptcKeyValue::DataMining { .. } => None,
IptcKeyValue::OtherConstraints { .. } => None,
IptcKeyValue::DigitalImageGuid { .. } => None,
IptcKeyValue::DigitalSourceType { .. } => None,
IptcKeyValue::EmbeddedEncodedRightsExpression { .. } => None,
IptcKeyValue::EventIdentifier { .. } => None,
IptcKeyValue::EventName { .. } => None,
IptcKeyValue::Genre { .. } => None,
IptcKeyValue::ImageCreator { .. } => None,
IptcKeyValue::ImageRating { .. } => None,
IptcKeyValue::ImageRegion { .. } => None,
IptcKeyValue::ImageRegistryEntry { .. } => None,
IptcKeyValue::ImageSupplier { .. } => None,
IptcKeyValue::ImageSupplierImageId { .. } => None,
IptcKeyValue::Licensor { .. } => None,
IptcKeyValue::LinkedEncodedRightsExpression { .. } => None,
IptcKeyValue::LocationCreated { .. } => None,
IptcKeyValue::LocationShownInTheImage { .. } => None,
IptcKeyValue::MaxAvailHeight { .. } => None,
IptcKeyValue::MaxAvailWidth { .. } => None,
IptcKeyValue::MinorModelAgeDisclosure { .. } => None,
IptcKeyValue::ModelAge { .. } => None,
IptcKeyValue::ModelReleaseId { .. } => None,
IptcKeyValue::ModelReleaseStatus { .. } => None,
IptcKeyValue::NameOfOrganisationFeaturedInTheImage { .. } => None,
IptcKeyValue::PersonShownInTheImage { .. } => None,
IptcKeyValue::PersonShownInTheImageWithDetails { .. } => None,
IptcKeyValue::ProductShownInTheImage { .. } => None,
IptcKeyValue::PropertyReleaseId { .. } => None,
IptcKeyValue::PropertyReleaseStatus { .. } => None,
IptcKeyValue::WebStatementOfRights { .. } => None,
}
}
pub const fn iim_name(&self) -> Option<&'static str> {
match self {
IptcKeyValue::AltTextAccessibility { .. } => None,
IptcKeyValue::CityLegacy { .. } => Some("City"),
IptcKeyValue::CopyrightNotice { .. } => Some("Copyright Notice"),
IptcKeyValue::CountryLegacy { .. } => Some("Country/Primary Location Name"),
IptcKeyValue::CountryCodeLegacy { .. } => Some("Country/Primary Location Code"),
IptcKeyValue::Creator { .. } => Some("By-line"),
IptcKeyValue::CreatorsContactInfo { .. } => None,
IptcKeyValue::CreatorsJobtitle { .. } => Some("By-line Title"),
IptcKeyValue::CreditLine { .. } => Some("Credit"),
IptcKeyValue::DateCreated { .. } => Some("Date Created+2:60 Time Created"),
IptcKeyValue::Description { .. } => Some("Caption/Abstract"),
IptcKeyValue::DescriptionWriter { .. } => Some("Writer/Editor"),
IptcKeyValue::ExtendedDescriptionAccessibility { .. } => None,
IptcKeyValue::Headline { .. } => Some("Headline"),
IptcKeyValue::Instructions { .. } => Some("Special Instruction"),
IptcKeyValue::IntellectualGenreLegacy { .. } => Some("Object Attribute Reference"),
IptcKeyValue::JobId { .. } => Some("Original Transmission Reference"),
IptcKeyValue::Keywords { .. } => Some("Keywords"),
IptcKeyValue::ProvinceOrStateLegacy { .. } => Some("Province/State"),
IptcKeyValue::RightsUsageTerms { .. } => None,
IptcKeyValue::SceneCode { .. } => None,
IptcKeyValue::SourceSupplyChain { .. } => Some("Source"),
IptcKeyValue::SubjectCodeLegacy { .. } => Some("Subject Reference"),
IptcKeyValue::SublocationLegacy { .. } => Some("Sublocation"),
IptcKeyValue::Title { .. } => Some("Object Name"),
IptcKeyValue::AdditionalModelInformation { .. } => None,
IptcKeyValue::ArtworkOrObjectInTheImage { .. } => None,
IptcKeyValue::CodeOfOrganisationFeaturedInTheImage { .. } => None,
IptcKeyValue::Contributor { .. } => None,
IptcKeyValue::CopyrightOwner { .. } => None,
IptcKeyValue::CvTermAboutImage { .. } => None,
IptcKeyValue::DataMining { .. } => None,
IptcKeyValue::OtherConstraints { .. } => None,
IptcKeyValue::DigitalImageGuid { .. } => None,
IptcKeyValue::DigitalSourceType { .. } => None,
IptcKeyValue::EmbeddedEncodedRightsExpression { .. } => None,
IptcKeyValue::EventIdentifier { .. } => None,
IptcKeyValue::EventName { .. } => None,
IptcKeyValue::Genre { .. } => None,
IptcKeyValue::ImageCreator { .. } => None,
IptcKeyValue::ImageRating { .. } => None,
IptcKeyValue::ImageRegion { .. } => None,
IptcKeyValue::ImageRegistryEntry { .. } => None,
IptcKeyValue::ImageSupplier { .. } => None,
IptcKeyValue::ImageSupplierImageId { .. } => None,
IptcKeyValue::Licensor { .. } => None,
IptcKeyValue::LinkedEncodedRightsExpression { .. } => None,
IptcKeyValue::LocationCreated { .. } => None,
IptcKeyValue::LocationShownInTheImage { .. } => None,
IptcKeyValue::MaxAvailHeight { .. } => None,
IptcKeyValue::MaxAvailWidth { .. } => None,
IptcKeyValue::MinorModelAgeDisclosure { .. } => None,
IptcKeyValue::ModelAge { .. } => None,
IptcKeyValue::ModelReleaseId { .. } => None,
IptcKeyValue::ModelReleaseStatus { .. } => None,
IptcKeyValue::NameOfOrganisationFeaturedInTheImage { .. } => None,
IptcKeyValue::PersonShownInTheImage { .. } => None,
IptcKeyValue::PersonShownInTheImageWithDetails { .. } => None,
IptcKeyValue::ProductShownInTheImage { .. } => None,
IptcKeyValue::PropertyReleaseId { .. } => None,
IptcKeyValue::PropertyReleaseStatus { .. } => None,
IptcKeyValue::WebStatementOfRights { .. } => None,
}
}
pub const fn iim_max_bytes(&self) -> Option<u16> {
match self {
IptcKeyValue::AltTextAccessibility { .. } => None,
IptcKeyValue::CityLegacy { .. } => Some(32),
IptcKeyValue::CopyrightNotice { .. } => Some(128),
IptcKeyValue::CountryLegacy { .. } => Some(64),
IptcKeyValue::CountryCodeLegacy { .. } => Some(3),
IptcKeyValue::Creator { .. } => Some(32),
IptcKeyValue::CreatorsContactInfo { .. } => None,
IptcKeyValue::CreatorsJobtitle { .. } => Some(32),
IptcKeyValue::CreditLine { .. } => Some(32),
IptcKeyValue::DateCreated { .. } => None,
IptcKeyValue::Description { .. } => Some(2000),
IptcKeyValue::DescriptionWriter { .. } => Some(32),
IptcKeyValue::ExtendedDescriptionAccessibility { .. } => None,
IptcKeyValue::Headline { .. } => Some(256),
IptcKeyValue::Instructions { .. } => Some(256),
IptcKeyValue::IntellectualGenreLegacy { .. } => Some(64),
IptcKeyValue::JobId { .. } => Some(32),
IptcKeyValue::Keywords { .. } => Some(64),
IptcKeyValue::ProvinceOrStateLegacy { .. } => Some(32),
IptcKeyValue::RightsUsageTerms { .. } => None,
IptcKeyValue::SceneCode { .. } => None,
IptcKeyValue::SourceSupplyChain { .. } => Some(32),
IptcKeyValue::SubjectCodeLegacy { .. } => Some(236),
IptcKeyValue::SublocationLegacy { .. } => Some(32),
IptcKeyValue::Title { .. } => Some(64),
IptcKeyValue::AdditionalModelInformation { .. } => None,
IptcKeyValue::ArtworkOrObjectInTheImage { .. } => None,
IptcKeyValue::CodeOfOrganisationFeaturedInTheImage { .. } => None,
IptcKeyValue::Contributor { .. } => None,
IptcKeyValue::CopyrightOwner { .. } => None,
IptcKeyValue::CvTermAboutImage { .. } => None,
IptcKeyValue::DataMining { .. } => None,
IptcKeyValue::OtherConstraints { .. } => None,
IptcKeyValue::DigitalImageGuid { .. } => None,
IptcKeyValue::DigitalSourceType { .. } => None,
IptcKeyValue::EmbeddedEncodedRightsExpression { .. } => None,
IptcKeyValue::EventIdentifier { .. } => None,
IptcKeyValue::EventName { .. } => None,
IptcKeyValue::Genre { .. } => None,
IptcKeyValue::ImageCreator { .. } => None,
IptcKeyValue::ImageRating { .. } => None,
IptcKeyValue::ImageRegion { .. } => None,
IptcKeyValue::ImageRegistryEntry { .. } => None,
IptcKeyValue::ImageSupplier { .. } => None,
IptcKeyValue::ImageSupplierImageId { .. } => None,
IptcKeyValue::Licensor { .. } => None,
IptcKeyValue::LinkedEncodedRightsExpression { .. } => None,
IptcKeyValue::LocationCreated { .. } => None,
IptcKeyValue::LocationShownInTheImage { .. } => None,
IptcKeyValue::MaxAvailHeight { .. } => None,
IptcKeyValue::MaxAvailWidth { .. } => None,
IptcKeyValue::MinorModelAgeDisclosure { .. } => None,
IptcKeyValue::ModelAge { .. } => None,
IptcKeyValue::ModelReleaseId { .. } => None,
IptcKeyValue::ModelReleaseStatus { .. } => None,
IptcKeyValue::NameOfOrganisationFeaturedInTheImage { .. } => None,
IptcKeyValue::PersonShownInTheImage { .. } => None,
IptcKeyValue::PersonShownInTheImageWithDetails { .. } => None,
IptcKeyValue::ProductShownInTheImage { .. } => None,
IptcKeyValue::PropertyReleaseId { .. } => None,
IptcKeyValue::PropertyReleaseStatus { .. } => None,
IptcKeyValue::WebStatementOfRights { .. } => None,
}
}
pub const fn exif_id(&self) -> Option<&'static str> {
match self {
IptcKeyValue::AltTextAccessibility { .. } => None,
IptcKeyValue::CityLegacy { .. } => None,
IptcKeyValue::CopyrightNotice { .. } => Some("33432"),
IptcKeyValue::CountryLegacy { .. } => None,
IptcKeyValue::CountryCodeLegacy { .. } => None,
IptcKeyValue::Creator { .. } => None,
IptcKeyValue::CreatorsContactInfo { .. } => None,
IptcKeyValue::CreatorsJobtitle { .. } => None,
IptcKeyValue::CreditLine { .. } => None,
IptcKeyValue::DateCreated { .. } => Some("36867"),
IptcKeyValue::Description { .. } => Some("270"),
IptcKeyValue::DescriptionWriter { .. } => None,
IptcKeyValue::ExtendedDescriptionAccessibility { .. } => None,
IptcKeyValue::Headline { .. } => None,
IptcKeyValue::Instructions { .. } => None,
IptcKeyValue::IntellectualGenreLegacy { .. } => None,
IptcKeyValue::JobId { .. } => None,
IptcKeyValue::Keywords { .. } => None,
IptcKeyValue::ProvinceOrStateLegacy { .. } => None,
IptcKeyValue::RightsUsageTerms { .. } => None,
IptcKeyValue::SceneCode { .. } => None,
IptcKeyValue::SourceSupplyChain { .. } => None,
IptcKeyValue::SubjectCodeLegacy { .. } => None,
IptcKeyValue::SublocationLegacy { .. } => None,
IptcKeyValue::Title { .. } => None,
IptcKeyValue::AdditionalModelInformation { .. } => None,
IptcKeyValue::ArtworkOrObjectInTheImage { .. } => None,
IptcKeyValue::CodeOfOrganisationFeaturedInTheImage { .. } => None,
IptcKeyValue::Contributor { .. } => None,
IptcKeyValue::CopyrightOwner { .. } => None,
IptcKeyValue::CvTermAboutImage { .. } => None,
IptcKeyValue::DataMining { .. } => None,
IptcKeyValue::OtherConstraints { .. } => None,
IptcKeyValue::DigitalImageGuid { .. } => Some("42016"),
IptcKeyValue::DigitalSourceType { .. } => None,
IptcKeyValue::EmbeddedEncodedRightsExpression { .. } => None,
IptcKeyValue::EventIdentifier { .. } => None,
IptcKeyValue::EventName { .. } => None,
IptcKeyValue::Genre { .. } => None,
IptcKeyValue::ImageCreator { .. } => None,
IptcKeyValue::ImageRating { .. } => None,
IptcKeyValue::ImageRegion { .. } => None,
IptcKeyValue::ImageRegistryEntry { .. } => None,
IptcKeyValue::ImageSupplier { .. } => None,
IptcKeyValue::ImageSupplierImageId { .. } => None,
IptcKeyValue::Licensor { .. } => None,
IptcKeyValue::LinkedEncodedRightsExpression { .. } => None,
IptcKeyValue::LocationCreated { .. } => None,
IptcKeyValue::LocationShownInTheImage { .. } => None,
IptcKeyValue::MaxAvailHeight { .. } => None,
IptcKeyValue::MaxAvailWidth { .. } => None,
IptcKeyValue::MinorModelAgeDisclosure { .. } => None,
IptcKeyValue::ModelAge { .. } => None,
IptcKeyValue::ModelReleaseId { .. } => None,
IptcKeyValue::ModelReleaseStatus { .. } => None,
IptcKeyValue::NameOfOrganisationFeaturedInTheImage { .. } => None,
IptcKeyValue::PersonShownInTheImage { .. } => None,
IptcKeyValue::PersonShownInTheImageWithDetails { .. } => None,
IptcKeyValue::ProductShownInTheImage { .. } => None,
IptcKeyValue::PropertyReleaseId { .. } => None,
IptcKeyValue::PropertyReleaseStatus { .. } => None,
IptcKeyValue::WebStatementOfRights { .. } => None,
}
}
pub const fn has_primitive_ty(&self) -> bool {
match self {
IptcKeyValue::AltTextAccessibility { .. } => true,
IptcKeyValue::CityLegacy { .. } => true,
IptcKeyValue::CopyrightNotice { .. } => true,
IptcKeyValue::CountryLegacy { .. } => true,
IptcKeyValue::CountryCodeLegacy { .. } => true,
IptcKeyValue::Creator { .. } => false,
IptcKeyValue::CreatorsContactInfo { .. } => false,
IptcKeyValue::CreatorsJobtitle { .. } => true,
IptcKeyValue::CreditLine { .. } => true,
IptcKeyValue::DateCreated { .. } => true,
IptcKeyValue::Description { .. } => true,
IptcKeyValue::DescriptionWriter { .. } => true,
IptcKeyValue::ExtendedDescriptionAccessibility { .. } => true,
IptcKeyValue::Headline { .. } => true,
IptcKeyValue::Instructions { .. } => true,
IptcKeyValue::IntellectualGenreLegacy { .. } => true,
IptcKeyValue::JobId { .. } => true,
IptcKeyValue::Keywords { .. } => false,
IptcKeyValue::ProvinceOrStateLegacy { .. } => true,
IptcKeyValue::RightsUsageTerms { .. } => true,
IptcKeyValue::SceneCode { .. } => false,
IptcKeyValue::SourceSupplyChain { .. } => true,
IptcKeyValue::SubjectCodeLegacy { .. } => false,
IptcKeyValue::SublocationLegacy { .. } => true,
IptcKeyValue::Title { .. } => true,
IptcKeyValue::AdditionalModelInformation { .. } => true,
IptcKeyValue::ArtworkOrObjectInTheImage { .. } => false,
IptcKeyValue::CodeOfOrganisationFeaturedInTheImage { .. } => false,
IptcKeyValue::Contributor { .. } => false,
IptcKeyValue::CopyrightOwner { .. } => false,
IptcKeyValue::CvTermAboutImage { .. } => false,
IptcKeyValue::DataMining { .. } => true,
IptcKeyValue::OtherConstraints { .. } => true,
IptcKeyValue::DigitalImageGuid { .. } => true,
IptcKeyValue::DigitalSourceType { .. } => true,
IptcKeyValue::EmbeddedEncodedRightsExpression { .. } => false,
IptcKeyValue::EventIdentifier { .. } => false,
IptcKeyValue::EventName { .. } => true,
IptcKeyValue::Genre { .. } => false,
IptcKeyValue::ImageCreator { .. } => false,
IptcKeyValue::ImageRating { .. } => true,
IptcKeyValue::ImageRegion { .. } => false,
IptcKeyValue::ImageRegistryEntry { .. } => false,
IptcKeyValue::ImageSupplier { .. } => false,
IptcKeyValue::ImageSupplierImageId { .. } => true,
IptcKeyValue::Licensor { .. } => false,
IptcKeyValue::LinkedEncodedRightsExpression { .. } => false,
IptcKeyValue::LocationCreated { .. } => false,
IptcKeyValue::LocationShownInTheImage { .. } => false,
IptcKeyValue::MaxAvailHeight { .. } => true,
IptcKeyValue::MaxAvailWidth { .. } => true,
IptcKeyValue::MinorModelAgeDisclosure { .. } => true,
IptcKeyValue::ModelAge { .. } => false,
IptcKeyValue::ModelReleaseId { .. } => false,
IptcKeyValue::ModelReleaseStatus { .. } => true,
IptcKeyValue::NameOfOrganisationFeaturedInTheImage { .. } => false,
IptcKeyValue::PersonShownInTheImage { .. } => false,
IptcKeyValue::PersonShownInTheImageWithDetails { .. } => false,
IptcKeyValue::ProductShownInTheImage { .. } => false,
IptcKeyValue::PropertyReleaseId { .. } => false,
IptcKeyValue::PropertyReleaseStatus { .. } => true,
IptcKeyValue::WebStatementOfRights { .. } => true,
}
}
pub const fn has_vec_ty(&self) -> bool {
match self {
IptcKeyValue::AltTextAccessibility { .. } => false,
IptcKeyValue::CityLegacy { .. } => false,
IptcKeyValue::CopyrightNotice { .. } => false,
IptcKeyValue::CountryLegacy { .. } => false,
IptcKeyValue::CountryCodeLegacy { .. } => false,
IptcKeyValue::Creator { .. } => true,
IptcKeyValue::CreatorsContactInfo { .. } => false,
IptcKeyValue::CreatorsJobtitle { .. } => false,
IptcKeyValue::CreditLine { .. } => false,
IptcKeyValue::DateCreated { .. } => false,
IptcKeyValue::Description { .. } => false,
IptcKeyValue::DescriptionWriter { .. } => false,
IptcKeyValue::ExtendedDescriptionAccessibility { .. } => false,
IptcKeyValue::Headline { .. } => false,
IptcKeyValue::Instructions { .. } => false,
IptcKeyValue::IntellectualGenreLegacy { .. } => false,
IptcKeyValue::JobId { .. } => false,
IptcKeyValue::Keywords { .. } => true,
IptcKeyValue::ProvinceOrStateLegacy { .. } => false,
IptcKeyValue::RightsUsageTerms { .. } => false,
IptcKeyValue::SceneCode { .. } => true,
IptcKeyValue::SourceSupplyChain { .. } => false,
IptcKeyValue::SubjectCodeLegacy { .. } => true,
IptcKeyValue::SublocationLegacy { .. } => false,
IptcKeyValue::Title { .. } => false,
IptcKeyValue::AdditionalModelInformation { .. } => false,
IptcKeyValue::ArtworkOrObjectInTheImage { .. } => true,
IptcKeyValue::CodeOfOrganisationFeaturedInTheImage { .. } => true,
IptcKeyValue::Contributor { .. } => true,
IptcKeyValue::CopyrightOwner { .. } => true,
IptcKeyValue::CvTermAboutImage { .. } => true,
IptcKeyValue::DataMining { .. } => false,
IptcKeyValue::OtherConstraints { .. } => false,
IptcKeyValue::DigitalImageGuid { .. } => false,
IptcKeyValue::DigitalSourceType { .. } => false,
IptcKeyValue::EmbeddedEncodedRightsExpression { .. } => true,
IptcKeyValue::EventIdentifier { .. } => true,
IptcKeyValue::EventName { .. } => false,
IptcKeyValue::Genre { .. } => true,
IptcKeyValue::ImageCreator { .. } => true,
IptcKeyValue::ImageRating { .. } => false,
IptcKeyValue::ImageRegion { .. } => true,
IptcKeyValue::ImageRegistryEntry { .. } => true,
IptcKeyValue::ImageSupplier { .. } => true,
IptcKeyValue::ImageSupplierImageId { .. } => false,
IptcKeyValue::Licensor { .. } => true,
IptcKeyValue::LinkedEncodedRightsExpression { .. } => true,
IptcKeyValue::LocationCreated { .. } => true,
IptcKeyValue::LocationShownInTheImage { .. } => true,
IptcKeyValue::MaxAvailHeight { .. } => false,
IptcKeyValue::MaxAvailWidth { .. } => false,
IptcKeyValue::MinorModelAgeDisclosure { .. } => false,
IptcKeyValue::ModelAge { .. } => true,
IptcKeyValue::ModelReleaseId { .. } => true,
IptcKeyValue::ModelReleaseStatus { .. } => false,
IptcKeyValue::NameOfOrganisationFeaturedInTheImage { .. } => true,
IptcKeyValue::PersonShownInTheImage { .. } => true,
IptcKeyValue::PersonShownInTheImageWithDetails { .. } => true,
IptcKeyValue::ProductShownInTheImage { .. } => true,
IptcKeyValue::PropertyReleaseId { .. } => true,
IptcKeyValue::PropertyReleaseStatus { .. } => false,
IptcKeyValue::WebStatementOfRights { .. } => false,
}
}
pub const fn has_struct_ty(&self) -> bool {
match self {
IptcKeyValue::AltTextAccessibility { .. } => false,
IptcKeyValue::CityLegacy { .. } => false,
IptcKeyValue::CopyrightNotice { .. } => false,
IptcKeyValue::CountryLegacy { .. } => false,
IptcKeyValue::CountryCodeLegacy { .. } => false,
IptcKeyValue::Creator { .. } => false,
IptcKeyValue::CreatorsContactInfo { .. } => true,
IptcKeyValue::CreatorsJobtitle { .. } => false,
IptcKeyValue::CreditLine { .. } => false,
IptcKeyValue::DateCreated { .. } => false,
IptcKeyValue::Description { .. } => false,
IptcKeyValue::DescriptionWriter { .. } => false,
IptcKeyValue::ExtendedDescriptionAccessibility { .. } => false,
IptcKeyValue::Headline { .. } => false,
IptcKeyValue::Instructions { .. } => false,
IptcKeyValue::IntellectualGenreLegacy { .. } => false,
IptcKeyValue::JobId { .. } => false,
IptcKeyValue::Keywords { .. } => false,
IptcKeyValue::ProvinceOrStateLegacy { .. } => false,
IptcKeyValue::RightsUsageTerms { .. } => false,
IptcKeyValue::SceneCode { .. } => false,
IptcKeyValue::SourceSupplyChain { .. } => false,
IptcKeyValue::SubjectCodeLegacy { .. } => false,
IptcKeyValue::SublocationLegacy { .. } => false,
IptcKeyValue::Title { .. } => false,
IptcKeyValue::AdditionalModelInformation { .. } => false,
IptcKeyValue::ArtworkOrObjectInTheImage { .. } => true,
IptcKeyValue::CodeOfOrganisationFeaturedInTheImage { .. } => false,
IptcKeyValue::Contributor { .. } => true,
IptcKeyValue::CopyrightOwner { .. } => true,
IptcKeyValue::CvTermAboutImage { .. } => true,
IptcKeyValue::DataMining { .. } => false,
IptcKeyValue::OtherConstraints { .. } => false,
IptcKeyValue::DigitalImageGuid { .. } => false,
IptcKeyValue::DigitalSourceType { .. } => false,
IptcKeyValue::EmbeddedEncodedRightsExpression { .. } => true,
IptcKeyValue::EventIdentifier { .. } => false,
IptcKeyValue::EventName { .. } => false,
IptcKeyValue::Genre { .. } => true,
IptcKeyValue::ImageCreator { .. } => true,
IptcKeyValue::ImageRating { .. } => false,
IptcKeyValue::ImageRegion { .. } => true,
IptcKeyValue::ImageRegistryEntry { .. } => true,
IptcKeyValue::ImageSupplier { .. } => true,
IptcKeyValue::ImageSupplierImageId { .. } => false,
IptcKeyValue::Licensor { .. } => true,
IptcKeyValue::LinkedEncodedRightsExpression { .. } => true,
IptcKeyValue::LocationCreated { .. } => true,
IptcKeyValue::LocationShownInTheImage { .. } => true,
IptcKeyValue::MaxAvailHeight { .. } => false,
IptcKeyValue::MaxAvailWidth { .. } => false,
IptcKeyValue::MinorModelAgeDisclosure { .. } => false,
IptcKeyValue::ModelAge { .. } => false,
IptcKeyValue::ModelReleaseId { .. } => false,
IptcKeyValue::ModelReleaseStatus { .. } => false,
IptcKeyValue::NameOfOrganisationFeaturedInTheImage { .. } => false,
IptcKeyValue::PersonShownInTheImage { .. } => false,
IptcKeyValue::PersonShownInTheImageWithDetails { .. } => true,
IptcKeyValue::ProductShownInTheImage { .. } => true,
IptcKeyValue::PropertyReleaseId { .. } => false,
IptcKeyValue::PropertyReleaseStatus { .. } => false,
IptcKeyValue::WebStatementOfRights { .. } => false,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, PartialOrd)]
pub enum IptcKey {
AltTextAccessibility,
CityLegacy,
CopyrightNotice,
CountryLegacy,
CountryCodeLegacy,
Creator,
CreatorsContactInfo,
CreatorsJobtitle,
CreditLine,
DateCreated,
Description,
DescriptionWriter,
ExtendedDescriptionAccessibility,
Headline,
Instructions,
IntellectualGenreLegacy,
JobId,
Keywords,
ProvinceOrStateLegacy,
RightsUsageTerms,
SceneCode,
SourceSupplyChain,
SubjectCodeLegacy,
SublocationLegacy,
Title,
AdditionalModelInformation,
ArtworkOrObjectInTheImage,
CodeOfOrganisationFeaturedInTheImage,
Contributor,
CopyrightOwner,
CvTermAboutImage,
DataMining,
OtherConstraints,
DigitalImageGuid,
DigitalSourceType,
EmbeddedEncodedRightsExpression,
EventIdentifier,
EventName,
Genre,
ImageCreator,
ImageRating,
ImageRegion,
ImageRegistryEntry,
ImageSupplier,
ImageSupplierImageId,
Licensor,
LinkedEncodedRightsExpression,
LocationCreated,
LocationShownInTheImage,
MaxAvailHeight,
MaxAvailWidth,
MinorModelAgeDisclosure,
ModelAge,
ModelReleaseId,
ModelReleaseStatus,
NameOfOrganisationFeaturedInTheImage,
PersonShownInTheImage,
PersonShownInTheImageWithDetails,
ProductShownInTheImage,
PropertyReleaseId,
PropertyReleaseStatus,
WebStatementOfRights,
}
impl IptcKey {
pub const fn name(&self) -> &'static str {
match self {
IptcKey::AltTextAccessibility => "Alt Text (Accessibility)",
IptcKey::CityLegacy => "City (legacy)",
IptcKey::CopyrightNotice => "Copyright Notice",
IptcKey::CountryLegacy => "Country (legacy)",
IptcKey::CountryCodeLegacy => "Country Code (legacy)",
IptcKey::Creator => "Creator",
IptcKey::CreatorsContactInfo => "Creator's Contact Info",
IptcKey::CreatorsJobtitle => "Creator's jobtitle",
IptcKey::CreditLine => "Credit Line",
IptcKey::DateCreated => "Date Created",
IptcKey::Description => "Description",
IptcKey::DescriptionWriter => "Description Writer",
IptcKey::ExtendedDescriptionAccessibility => "Extended Description (Accessibility)",
IptcKey::Headline => "Headline",
IptcKey::Instructions => "Instructions",
IptcKey::IntellectualGenreLegacy => "Intellectual Genre (legacy)",
IptcKey::JobId => "Job Id",
IptcKey::Keywords => "Keywords",
IptcKey::ProvinceOrStateLegacy => "Province or State (legacy)",
IptcKey::RightsUsageTerms => "Rights Usage Terms",
IptcKey::SceneCode => "Scene Code",
IptcKey::SourceSupplyChain => "Source (Supply Chain)",
IptcKey::SubjectCodeLegacy => "Subject Code (legacy)",
IptcKey::SublocationLegacy => "Sublocation (legacy)",
IptcKey::Title => "Title",
IptcKey::AdditionalModelInformation => "Additional Model Information",
IptcKey::ArtworkOrObjectInTheImage => "Artwork or Object in the Image",
IptcKey::CodeOfOrganisationFeaturedInTheImage => "Code of Organisation Featured in the Image",
IptcKey::Contributor => "Contributor",
IptcKey::CopyrightOwner => "Copyright Owner",
IptcKey::CvTermAboutImage => "CV-Term About Image",
IptcKey::DataMining => "Data Mining",
IptcKey::OtherConstraints => "Other Constraints",
IptcKey::DigitalImageGuid => "Digital Image GUID",
IptcKey::DigitalSourceType => "Digital Source Type",
IptcKey::EmbeddedEncodedRightsExpression => "Embedded Encoded Rights Expression",
IptcKey::EventIdentifier => "Event Identifier",
IptcKey::EventName => "Event Name",
IptcKey::Genre => "Genre",
IptcKey::ImageCreator => "Image Creator",
IptcKey::ImageRating => "Image Rating",
IptcKey::ImageRegion => "Image Region",
IptcKey::ImageRegistryEntry => "Image Registry Entry",
IptcKey::ImageSupplier => "Image Supplier",
IptcKey::ImageSupplierImageId => "Image Supplier Image ID",
IptcKey::Licensor => "Licensor",
IptcKey::LinkedEncodedRightsExpression => "Linked Encoded Rights Expression",
IptcKey::LocationCreated => "Location Created",
IptcKey::LocationShownInTheImage => "Location Shown in the Image",
IptcKey::MaxAvailHeight => "Max Avail Height",
IptcKey::MaxAvailWidth => "Max Avail Width",
IptcKey::MinorModelAgeDisclosure => "Minor Model Age Disclosure",
IptcKey::ModelAge => "Model Age",
IptcKey::ModelReleaseId => "Model Release Id",
IptcKey::ModelReleaseStatus => "Model Release Status",
IptcKey::NameOfOrganisationFeaturedInTheImage => "Name of Organisation Featured in the Image",
IptcKey::PersonShownInTheImage => "Person Shown in the Image",
IptcKey::PersonShownInTheImageWithDetails => "Person Shown in the Image with Details",
IptcKey::ProductShownInTheImage => "Product Shown in the Image",
IptcKey::PropertyReleaseId => "Property Release Id",
IptcKey::PropertyReleaseStatus => "Property Release Status",
IptcKey::WebStatementOfRights => "Web Statement of Rights",
}
}
pub const fn label(&self) -> &'static str {
match self {
IptcKey::AltTextAccessibility => "Alt Text (Accessibility)",
IptcKey::CityLegacy => "City",
IptcKey::CopyrightNotice => "Copyright Notice",
IptcKey::CountryLegacy => "Country",
IptcKey::CountryCodeLegacy => "ISO Country Code",
IptcKey::Creator => "Creator",
IptcKey::CreatorsContactInfo => "Creator's Contact info",
IptcKey::CreatorsJobtitle => "Creator's Jobtitle",
IptcKey::CreditLine => "Credit Line",
IptcKey::DateCreated => "Date Created",
IptcKey::Description => "Caption/Description",
IptcKey::DescriptionWriter => "Caption/Description writer",
IptcKey::ExtendedDescriptionAccessibility => "Extended Description (Accessibility)",
IptcKey::Headline => "Headline",
IptcKey::Instructions => "Instructions",
IptcKey::IntellectualGenreLegacy => "Intellectual genre",
IptcKey::JobId => "Job Identifier",
IptcKey::Keywords => "Keywords",
IptcKey::ProvinceOrStateLegacy => "Province/State",
IptcKey::RightsUsageTerms => "Rights Usage Terms",
IptcKey::SceneCode => "IPTC Scene Code",
IptcKey::SourceSupplyChain => "Source (Supply Chain)",
IptcKey::SubjectCodeLegacy => "IPTC Subject Code",
IptcKey::SublocationLegacy => "Sublocation",
IptcKey::Title => "Title",
IptcKey::AdditionalModelInformation => "Additional model info",
IptcKey::ArtworkOrObjectInTheImage => "Artwork or object in the image",
IptcKey::CodeOfOrganisationFeaturedInTheImage => "Code of featured Organisation",
IptcKey::Contributor => "Contributor",
IptcKey::CopyrightOwner => "Copyright owner",
IptcKey::CvTermAboutImage => "CV-Term About Image",
IptcKey::DataMining => "Data Mining",
IptcKey::OtherConstraints => "Constraint",
IptcKey::DigitalImageGuid => "Digital Image Identifier",
IptcKey::DigitalSourceType => "Type of source for this photo",
IptcKey::EmbeddedEncodedRightsExpression => "Embedded Encoded Rights Expression",
IptcKey::EventIdentifier => "Event ID",
IptcKey::EventName => "Event Name",
IptcKey::Genre => "Genre",
IptcKey::ImageCreator => "Image Creator",
IptcKey::ImageRating => "Rating",
IptcKey::ImageRegion => "Image Region(s)",
IptcKey::ImageRegistryEntry => "Registry Entry",
IptcKey::ImageSupplier => "Image Supplier",
IptcKey::ImageSupplierImageId => "Image Supplier Image Id",
IptcKey::Licensor => "Licensor",
IptcKey::LinkedEncodedRightsExpression => "Linked Encoded Rights Expression",
IptcKey::LocationCreated => "Location Created",
IptcKey::LocationShownInTheImage => "Location shown",
IptcKey::MaxAvailHeight => "Maximum available height",
IptcKey::MaxAvailWidth => "Maximum available width",
IptcKey::MinorModelAgeDisclosure => "Minor Model Age Disclosure",
IptcKey::ModelAge => "Model age",
IptcKey::ModelReleaseId => "Model Release Id",
IptcKey::ModelReleaseStatus => "Model Release Status",
IptcKey::NameOfOrganisationFeaturedInTheImage => "Name of featured Organisation",
IptcKey::PersonShownInTheImage => "Person shown",
IptcKey::PersonShownInTheImageWithDetails => "Person Shown (Details)",
IptcKey::ProductShownInTheImage => "Product Shown",
IptcKey::PropertyReleaseId => "Property Release Id",
IptcKey::PropertyReleaseStatus => "Property Release Status",
IptcKey::WebStatementOfRights => "Copyright Info URL",
}
}
pub const fn xmp_id(&self) -> &'static str {
match self {
IptcKey::AltTextAccessibility => "Iptc4xmpCore:AltTextAccessibility",
IptcKey::CityLegacy => "photoshop:City",
IptcKey::CopyrightNotice => "dc:rights",
IptcKey::CountryLegacy => "photoshop:Country",
IptcKey::CountryCodeLegacy => "Iptc4xmpCore:CountryCode",
IptcKey::Creator => "dc:creator",
IptcKey::CreatorsContactInfo => "Iptc4xmpCore:CreatorContactInfo",
IptcKey::CreatorsJobtitle => "photoshop:AuthorsPosition",
IptcKey::CreditLine => "photoshop:Credit",
IptcKey::DateCreated => "photoshop:DateCreated",
IptcKey::Description => "dc:description",
IptcKey::DescriptionWriter => "photoshop:CaptionWriter",
IptcKey::ExtendedDescriptionAccessibility => "Iptc4xmpCore:ExtDescrAccessibility",
IptcKey::Headline => "photoshop:Headline",
IptcKey::Instructions => "photoshop:Instructions",
IptcKey::IntellectualGenreLegacy => "Iptc4xmpCore:IntellectualGenre",
IptcKey::JobId => "photoshop:TransmissionReference",
IptcKey::Keywords => "dc:subject",
IptcKey::ProvinceOrStateLegacy => "photoshop:State",
IptcKey::RightsUsageTerms => "xmpRights:UsageTerms",
IptcKey::SceneCode => "Iptc4xmpCore:Scene",
IptcKey::SourceSupplyChain => "photoshop:Source",
IptcKey::SubjectCodeLegacy => "Iptc4xmpCore:SubjectCode",
IptcKey::SublocationLegacy => "Iptc4xmpCore:Location",
IptcKey::Title => "dc:title",
IptcKey::AdditionalModelInformation => "Iptc4xmpExt:AddlModelInfo",
IptcKey::ArtworkOrObjectInTheImage => "Iptc4xmpExt:ArtworkOrObject",
IptcKey::CodeOfOrganisationFeaturedInTheImage => "Iptc4xmpExt:OrganisationInImageCode",
IptcKey::Contributor => "Iptc4xmpExt:Contributor",
IptcKey::CopyrightOwner => "plus:CopyrightOwner",
IptcKey::CvTermAboutImage => "Iptc4xmpExt:AboutCvTerm",
IptcKey::DataMining => "plus:DataMining",
IptcKey::OtherConstraints => "plus:OtherConstraints",
IptcKey::DigitalImageGuid => "Iptc4xmpExt:DigImageGUID",
IptcKey::DigitalSourceType => "Iptc4xmpExt:DigitalSourceType",
IptcKey::EmbeddedEncodedRightsExpression => "Iptc4xmpExt:EmbdEncRightsExpr",
IptcKey::EventIdentifier => "Iptc4xmpExt:EventId",
IptcKey::EventName => "Iptc4xmpExt:Event",
IptcKey::Genre => "Iptc4xmpExt:Genre",
IptcKey::ImageCreator => "plus:ImageCreator",
IptcKey::ImageRating => "xmp:Rating",
IptcKey::ImageRegion => "Iptc4xmpExt:ImageRegion",
IptcKey::ImageRegistryEntry => "Iptc4xmpExt:RegistryId",
IptcKey::ImageSupplier => "plus:ImageSupplier",
IptcKey::ImageSupplierImageId => "plus:ImageSupplierImageID",
IptcKey::Licensor => "plus:Licensor",
IptcKey::LinkedEncodedRightsExpression => "Iptc4xmpExt:LinkedEncRightsExpr",
IptcKey::LocationCreated => "Iptc4xmpExt:LocationCreated",
IptcKey::LocationShownInTheImage => "Iptc4xmpExt:LocationShown",
IptcKey::MaxAvailHeight => "Iptc4xmpExt:MaxAvailHeight",
IptcKey::MaxAvailWidth => "Iptc4xmpExt:MaxAvailWidth",
IptcKey::MinorModelAgeDisclosure => "plus:MinorModelAgeDisclosure",
IptcKey::ModelAge => "Iptc4xmpExt:ModelAge",
IptcKey::ModelReleaseId => "plus:ModelReleaseID",
IptcKey::ModelReleaseStatus => "plus:ModelReleaseStatus",
IptcKey::NameOfOrganisationFeaturedInTheImage => "Iptc4xmpExt:OrganisationInImageName",
IptcKey::PersonShownInTheImage => "Iptc4xmpExt:PersonInImage",
IptcKey::PersonShownInTheImageWithDetails => "Iptc4xmpExt:PersonInImageWDetails",
IptcKey::ProductShownInTheImage => "Iptc4xmpExt:ProductInImage",
IptcKey::PropertyReleaseId => "plus:PropertyReleaseID",
IptcKey::PropertyReleaseStatus => "plus:PropertyReleaseStatus",
IptcKey::WebStatementOfRights => "xmpRights:WebStatement",
}
}
pub const fn iim_id(&self) -> Option<&'static str> {
match self {
IptcKey::AltTextAccessibility => None,
IptcKey::CityLegacy => Some("2:90"),
IptcKey::CopyrightNotice => Some("2:116"),
IptcKey::CountryLegacy => Some("2:101"),
IptcKey::CountryCodeLegacy => Some("2:100"),
IptcKey::Creator => Some("2:80"),
IptcKey::CreatorsContactInfo => None,
IptcKey::CreatorsJobtitle => Some("2:85"),
IptcKey::CreditLine => Some("2:110"),
IptcKey::DateCreated => Some("2:55"),
IptcKey::Description => Some("2:120"),
IptcKey::DescriptionWriter => Some("2:122"),
IptcKey::ExtendedDescriptionAccessibility => None,
IptcKey::Headline => Some("2:105"),
IptcKey::Instructions => Some("2:40"),
IptcKey::IntellectualGenreLegacy => Some("2:04"),
IptcKey::JobId => Some("2:103"),
IptcKey::Keywords => Some("2:25"),
IptcKey::ProvinceOrStateLegacy => Some("2:95"),
IptcKey::RightsUsageTerms => None,
IptcKey::SceneCode => None,
IptcKey::SourceSupplyChain => Some("2:115"),
IptcKey::SubjectCodeLegacy => Some("2:12"),
IptcKey::SublocationLegacy => Some("2:92"),
IptcKey::Title => Some("2:05"),
IptcKey::AdditionalModelInformation => None,
IptcKey::ArtworkOrObjectInTheImage => None,
IptcKey::CodeOfOrganisationFeaturedInTheImage => None,
IptcKey::Contributor => None,
IptcKey::CopyrightOwner => None,
IptcKey::CvTermAboutImage => None,
IptcKey::DataMining => None,
IptcKey::OtherConstraints => None,
IptcKey::DigitalImageGuid => None,
IptcKey::DigitalSourceType => None,
IptcKey::EmbeddedEncodedRightsExpression => None,
IptcKey::EventIdentifier => None,
IptcKey::EventName => None,
IptcKey::Genre => None,
IptcKey::ImageCreator => None,
IptcKey::ImageRating => None,
IptcKey::ImageRegion => None,
IptcKey::ImageRegistryEntry => None,
IptcKey::ImageSupplier => None,
IptcKey::ImageSupplierImageId => None,
IptcKey::Licensor => None,
IptcKey::LinkedEncodedRightsExpression => None,
IptcKey::LocationCreated => None,
IptcKey::LocationShownInTheImage => None,
IptcKey::MaxAvailHeight => None,
IptcKey::MaxAvailWidth => None,
IptcKey::MinorModelAgeDisclosure => None,
IptcKey::ModelAge => None,
IptcKey::ModelReleaseId => None,
IptcKey::ModelReleaseStatus => None,
IptcKey::NameOfOrganisationFeaturedInTheImage => None,
IptcKey::PersonShownInTheImage => None,
IptcKey::PersonShownInTheImageWithDetails => None,
IptcKey::ProductShownInTheImage => None,
IptcKey::PropertyReleaseId => None,
IptcKey::PropertyReleaseStatus => None,
IptcKey::WebStatementOfRights => None,
}
}
pub const fn iim_name(&self) -> Option<&'static str> {
match self {
IptcKey::AltTextAccessibility => None,
IptcKey::CityLegacy => Some("City"),
IptcKey::CopyrightNotice => Some("Copyright Notice"),
IptcKey::CountryLegacy => Some("Country/Primary Location Name"),
IptcKey::CountryCodeLegacy => Some("Country/Primary Location Code"),
IptcKey::Creator => Some("By-line"),
IptcKey::CreatorsContactInfo => None,
IptcKey::CreatorsJobtitle => Some("By-line Title"),
IptcKey::CreditLine => Some("Credit"),
IptcKey::DateCreated => Some("Date Created+2:60 Time Created"),
IptcKey::Description => Some("Caption/Abstract"),
IptcKey::DescriptionWriter => Some("Writer/Editor"),
IptcKey::ExtendedDescriptionAccessibility => None,
IptcKey::Headline => Some("Headline"),
IptcKey::Instructions => Some("Special Instruction"),
IptcKey::IntellectualGenreLegacy => Some("Object Attribute Reference"),
IptcKey::JobId => Some("Original Transmission Reference"),
IptcKey::Keywords => Some("Keywords"),
IptcKey::ProvinceOrStateLegacy => Some("Province/State"),
IptcKey::RightsUsageTerms => None,
IptcKey::SceneCode => None,
IptcKey::SourceSupplyChain => Some("Source"),
IptcKey::SubjectCodeLegacy => Some("Subject Reference"),
IptcKey::SublocationLegacy => Some("Sublocation"),
IptcKey::Title => Some("Object Name"),
IptcKey::AdditionalModelInformation => None,
IptcKey::ArtworkOrObjectInTheImage => None,
IptcKey::CodeOfOrganisationFeaturedInTheImage => None,
IptcKey::Contributor => None,
IptcKey::CopyrightOwner => None,
IptcKey::CvTermAboutImage => None,
IptcKey::DataMining => None,
IptcKey::OtherConstraints => None,
IptcKey::DigitalImageGuid => None,
IptcKey::DigitalSourceType => None,
IptcKey::EmbeddedEncodedRightsExpression => None,
IptcKey::EventIdentifier => None,
IptcKey::EventName => None,
IptcKey::Genre => None,
IptcKey::ImageCreator => None,
IptcKey::ImageRating => None,
IptcKey::ImageRegion => None,
IptcKey::ImageRegistryEntry => None,
IptcKey::ImageSupplier => None,
IptcKey::ImageSupplierImageId => None,
IptcKey::Licensor => None,
IptcKey::LinkedEncodedRightsExpression => None,
IptcKey::LocationCreated => None,
IptcKey::LocationShownInTheImage => None,
IptcKey::MaxAvailHeight => None,
IptcKey::MaxAvailWidth => None,
IptcKey::MinorModelAgeDisclosure => None,
IptcKey::ModelAge => None,
IptcKey::ModelReleaseId => None,
IptcKey::ModelReleaseStatus => None,
IptcKey::NameOfOrganisationFeaturedInTheImage => None,
IptcKey::PersonShownInTheImage => None,
IptcKey::PersonShownInTheImageWithDetails => None,
IptcKey::ProductShownInTheImage => None,
IptcKey::PropertyReleaseId => None,
IptcKey::PropertyReleaseStatus => None,
IptcKey::WebStatementOfRights => None,
}
}
pub const fn iim_max_bytes(&self) -> Option<u16> {
match self {
IptcKey::AltTextAccessibility => None,
IptcKey::CityLegacy => Some(32),
IptcKey::CopyrightNotice => Some(128),
IptcKey::CountryLegacy => Some(64),
IptcKey::CountryCodeLegacy => Some(3),
IptcKey::Creator => Some(32),
IptcKey::CreatorsContactInfo => None,
IptcKey::CreatorsJobtitle => Some(32),
IptcKey::CreditLine => Some(32),
IptcKey::DateCreated => None,
IptcKey::Description => Some(2000),
IptcKey::DescriptionWriter => Some(32),
IptcKey::ExtendedDescriptionAccessibility => None,
IptcKey::Headline => Some(256),
IptcKey::Instructions => Some(256),
IptcKey::IntellectualGenreLegacy => Some(64),
IptcKey::JobId => Some(32),
IptcKey::Keywords => Some(64),
IptcKey::ProvinceOrStateLegacy => Some(32),
IptcKey::RightsUsageTerms => None,
IptcKey::SceneCode => None,
IptcKey::SourceSupplyChain => Some(32),
IptcKey::SubjectCodeLegacy => Some(236),
IptcKey::SublocationLegacy => Some(32),
IptcKey::Title => Some(64),
IptcKey::AdditionalModelInformation => None,
IptcKey::ArtworkOrObjectInTheImage => None,
IptcKey::CodeOfOrganisationFeaturedInTheImage => None,
IptcKey::Contributor => None,
IptcKey::CopyrightOwner => None,
IptcKey::CvTermAboutImage => None,
IptcKey::DataMining => None,
IptcKey::OtherConstraints => None,
IptcKey::DigitalImageGuid => None,
IptcKey::DigitalSourceType => None,
IptcKey::EmbeddedEncodedRightsExpression => None,
IptcKey::EventIdentifier => None,
IptcKey::EventName => None,
IptcKey::Genre => None,
IptcKey::ImageCreator => None,
IptcKey::ImageRating => None,
IptcKey::ImageRegion => None,
IptcKey::ImageRegistryEntry => None,
IptcKey::ImageSupplier => None,
IptcKey::ImageSupplierImageId => None,
IptcKey::Licensor => None,
IptcKey::LinkedEncodedRightsExpression => None,
IptcKey::LocationCreated => None,
IptcKey::LocationShownInTheImage => None,
IptcKey::MaxAvailHeight => None,
IptcKey::MaxAvailWidth => None,
IptcKey::MinorModelAgeDisclosure => None,
IptcKey::ModelAge => None,
IptcKey::ModelReleaseId => None,
IptcKey::ModelReleaseStatus => None,
IptcKey::NameOfOrganisationFeaturedInTheImage => None,
IptcKey::PersonShownInTheImage => None,
IptcKey::PersonShownInTheImageWithDetails => None,
IptcKey::ProductShownInTheImage => None,
IptcKey::PropertyReleaseId => None,
IptcKey::PropertyReleaseStatus => None,
IptcKey::WebStatementOfRights => None,
}
}
pub const fn exif_id(&self) -> Option<&'static str> {
match self {
IptcKey::AltTextAccessibility => None,
IptcKey::CityLegacy => None,
IptcKey::CopyrightNotice => Some("33432"),
IptcKey::CountryLegacy => None,
IptcKey::CountryCodeLegacy => None,
IptcKey::Creator => None,
IptcKey::CreatorsContactInfo => None,
IptcKey::CreatorsJobtitle => None,
IptcKey::CreditLine => None,
IptcKey::DateCreated => Some("36867"),
IptcKey::Description => Some("270"),
IptcKey::DescriptionWriter => None,
IptcKey::ExtendedDescriptionAccessibility => None,
IptcKey::Headline => None,
IptcKey::Instructions => None,
IptcKey::IntellectualGenreLegacy => None,
IptcKey::JobId => None,
IptcKey::Keywords => None,
IptcKey::ProvinceOrStateLegacy => None,
IptcKey::RightsUsageTerms => None,
IptcKey::SceneCode => None,
IptcKey::SourceSupplyChain => None,
IptcKey::SubjectCodeLegacy => None,
IptcKey::SublocationLegacy => None,
IptcKey::Title => None,
IptcKey::AdditionalModelInformation => None,
IptcKey::ArtworkOrObjectInTheImage => None,
IptcKey::CodeOfOrganisationFeaturedInTheImage => None,
IptcKey::Contributor => None,
IptcKey::CopyrightOwner => None,
IptcKey::CvTermAboutImage => None,
IptcKey::DataMining => None,
IptcKey::OtherConstraints => None,
IptcKey::DigitalImageGuid => Some("42016"),
IptcKey::DigitalSourceType => None,
IptcKey::EmbeddedEncodedRightsExpression => None,
IptcKey::EventIdentifier => None,
IptcKey::EventName => None,
IptcKey::Genre => None,
IptcKey::ImageCreator => None,
IptcKey::ImageRating => None,
IptcKey::ImageRegion => None,
IptcKey::ImageRegistryEntry => None,
IptcKey::ImageSupplier => None,
IptcKey::ImageSupplierImageId => None,
IptcKey::Licensor => None,
IptcKey::LinkedEncodedRightsExpression => None,
IptcKey::LocationCreated => None,
IptcKey::LocationShownInTheImage => None,
IptcKey::MaxAvailHeight => None,
IptcKey::MaxAvailWidth => None,
IptcKey::MinorModelAgeDisclosure => None,
IptcKey::ModelAge => None,
IptcKey::ModelReleaseId => None,
IptcKey::ModelReleaseStatus => None,
IptcKey::NameOfOrganisationFeaturedInTheImage => None,
IptcKey::PersonShownInTheImage => None,
IptcKey::PersonShownInTheImageWithDetails => None,
IptcKey::ProductShownInTheImage => None,
IptcKey::PropertyReleaseId => None,
IptcKey::PropertyReleaseStatus => None,
IptcKey::WebStatementOfRights => None,
}
}
pub const fn has_primitive_ty(&self) -> bool {
match self {
IptcKey::AltTextAccessibility => true,
IptcKey::CityLegacy => true,
IptcKey::CopyrightNotice => true,
IptcKey::CountryLegacy => true,
IptcKey::CountryCodeLegacy => true,
IptcKey::Creator => false,
IptcKey::CreatorsContactInfo => false,
IptcKey::CreatorsJobtitle => true,
IptcKey::CreditLine => true,
IptcKey::DateCreated => true,
IptcKey::Description => true,
IptcKey::DescriptionWriter => true,
IptcKey::ExtendedDescriptionAccessibility => true,
IptcKey::Headline => true,
IptcKey::Instructions => true,
IptcKey::IntellectualGenreLegacy => true,
IptcKey::JobId => true,
IptcKey::Keywords => false,
IptcKey::ProvinceOrStateLegacy => true,
IptcKey::RightsUsageTerms => true,
IptcKey::SceneCode => false,
IptcKey::SourceSupplyChain => true,
IptcKey::SubjectCodeLegacy => false,
IptcKey::SublocationLegacy => true,
IptcKey::Title => true,
IptcKey::AdditionalModelInformation => true,
IptcKey::ArtworkOrObjectInTheImage => false,
IptcKey::CodeOfOrganisationFeaturedInTheImage => false,
IptcKey::Contributor => false,
IptcKey::CopyrightOwner => false,
IptcKey::CvTermAboutImage => false,
IptcKey::DataMining => true,
IptcKey::OtherConstraints => true,
IptcKey::DigitalImageGuid => true,
IptcKey::DigitalSourceType => true,
IptcKey::EmbeddedEncodedRightsExpression => false,
IptcKey::EventIdentifier => false,
IptcKey::EventName => true,
IptcKey::Genre => false,
IptcKey::ImageCreator => false,
IptcKey::ImageRating => true,
IptcKey::ImageRegion => false,
IptcKey::ImageRegistryEntry => false,
IptcKey::ImageSupplier => false,
IptcKey::ImageSupplierImageId => true,
IptcKey::Licensor => false,
IptcKey::LinkedEncodedRightsExpression => false,
IptcKey::LocationCreated => false,
IptcKey::LocationShownInTheImage => false,
IptcKey::MaxAvailHeight => true,
IptcKey::MaxAvailWidth => true,
IptcKey::MinorModelAgeDisclosure => true,
IptcKey::ModelAge => false,
IptcKey::ModelReleaseId => false,
IptcKey::ModelReleaseStatus => true,
IptcKey::NameOfOrganisationFeaturedInTheImage => false,
IptcKey::PersonShownInTheImage => false,
IptcKey::PersonShownInTheImageWithDetails => false,
IptcKey::ProductShownInTheImage => false,
IptcKey::PropertyReleaseId => false,
IptcKey::PropertyReleaseStatus => true,
IptcKey::WebStatementOfRights => true,
}
}
pub const fn has_vec_ty(&self) -> bool {
match self {
IptcKey::AltTextAccessibility => false,
IptcKey::CityLegacy => false,
IptcKey::CopyrightNotice => false,
IptcKey::CountryLegacy => false,
IptcKey::CountryCodeLegacy => false,
IptcKey::Creator => true,
IptcKey::CreatorsContactInfo => false,
IptcKey::CreatorsJobtitle => false,
IptcKey::CreditLine => false,
IptcKey::DateCreated => false,
IptcKey::Description => false,
IptcKey::DescriptionWriter => false,
IptcKey::ExtendedDescriptionAccessibility => false,
IptcKey::Headline => false,
IptcKey::Instructions => false,
IptcKey::IntellectualGenreLegacy => false,
IptcKey::JobId => false,
IptcKey::Keywords => true,
IptcKey::ProvinceOrStateLegacy => false,
IptcKey::RightsUsageTerms => false,
IptcKey::SceneCode => true,
IptcKey::SourceSupplyChain => false,
IptcKey::SubjectCodeLegacy => true,
IptcKey::SublocationLegacy => false,
IptcKey::Title => false,
IptcKey::AdditionalModelInformation => false,
IptcKey::ArtworkOrObjectInTheImage => true,
IptcKey::CodeOfOrganisationFeaturedInTheImage => true,
IptcKey::Contributor => true,
IptcKey::CopyrightOwner => true,
IptcKey::CvTermAboutImage => true,
IptcKey::DataMining => false,
IptcKey::OtherConstraints => false,
IptcKey::DigitalImageGuid => false,
IptcKey::DigitalSourceType => false,
IptcKey::EmbeddedEncodedRightsExpression => true,
IptcKey::EventIdentifier => true,
IptcKey::EventName => false,
IptcKey::Genre => true,
IptcKey::ImageCreator => true,
IptcKey::ImageRating => false,
IptcKey::ImageRegion => true,
IptcKey::ImageRegistryEntry => true,
IptcKey::ImageSupplier => true,
IptcKey::ImageSupplierImageId => false,
IptcKey::Licensor => true,
IptcKey::LinkedEncodedRightsExpression => true,
IptcKey::LocationCreated => true,
IptcKey::LocationShownInTheImage => true,
IptcKey::MaxAvailHeight => false,
IptcKey::MaxAvailWidth => false,
IptcKey::MinorModelAgeDisclosure => false,
IptcKey::ModelAge => true,
IptcKey::ModelReleaseId => true,
IptcKey::ModelReleaseStatus => false,
IptcKey::NameOfOrganisationFeaturedInTheImage => true,
IptcKey::PersonShownInTheImage => true,
IptcKey::PersonShownInTheImageWithDetails => true,
IptcKey::ProductShownInTheImage => true,
IptcKey::PropertyReleaseId => true,
IptcKey::PropertyReleaseStatus => false,
IptcKey::WebStatementOfRights => false,
}
}
pub const fn has_struct_ty(&self) -> bool {
match self {
IptcKey::AltTextAccessibility => false,
IptcKey::CityLegacy => false,
IptcKey::CopyrightNotice => false,
IptcKey::CountryLegacy => false,
IptcKey::CountryCodeLegacy => false,
IptcKey::Creator => false,
IptcKey::CreatorsContactInfo => true,
IptcKey::CreatorsJobtitle => false,
IptcKey::CreditLine => false,
IptcKey::DateCreated => false,
IptcKey::Description => false,
IptcKey::DescriptionWriter => false,
IptcKey::ExtendedDescriptionAccessibility => false,
IptcKey::Headline => false,
IptcKey::Instructions => false,
IptcKey::IntellectualGenreLegacy => false,
IptcKey::JobId => false,
IptcKey::Keywords => false,
IptcKey::ProvinceOrStateLegacy => false,
IptcKey::RightsUsageTerms => false,
IptcKey::SceneCode => false,
IptcKey::SourceSupplyChain => false,
IptcKey::SubjectCodeLegacy => false,
IptcKey::SublocationLegacy => false,
IptcKey::Title => false,
IptcKey::AdditionalModelInformation => false,
IptcKey::ArtworkOrObjectInTheImage => true,
IptcKey::CodeOfOrganisationFeaturedInTheImage => false,
IptcKey::Contributor => true,
IptcKey::CopyrightOwner => true,
IptcKey::CvTermAboutImage => true,
IptcKey::DataMining => false,
IptcKey::OtherConstraints => false,
IptcKey::DigitalImageGuid => false,
IptcKey::DigitalSourceType => false,
IptcKey::EmbeddedEncodedRightsExpression => true,
IptcKey::EventIdentifier => false,
IptcKey::EventName => false,
IptcKey::Genre => true,
IptcKey::ImageCreator => true,
IptcKey::ImageRating => false,
IptcKey::ImageRegion => true,
IptcKey::ImageRegistryEntry => true,
IptcKey::ImageSupplier => true,
IptcKey::ImageSupplierImageId => false,
IptcKey::Licensor => true,
IptcKey::LinkedEncodedRightsExpression => true,
IptcKey::LocationCreated => true,
IptcKey::LocationShownInTheImage => true,
IptcKey::MaxAvailHeight => false,
IptcKey::MaxAvailWidth => false,
IptcKey::MinorModelAgeDisclosure => false,
IptcKey::ModelAge => false,
IptcKey::ModelReleaseId => false,
IptcKey::ModelReleaseStatus => false,
IptcKey::NameOfOrganisationFeaturedInTheImage => false,
IptcKey::PersonShownInTheImage => false,
IptcKey::PersonShownInTheImageWithDetails => true,
IptcKey::ProductShownInTheImage => true,
IptcKey::PropertyReleaseId => false,
IptcKey::PropertyReleaseStatus => false,
IptcKey::WebStatementOfRights => false,
}
}
pub fn from_xmp_id(s: impl AsRef<str>) -> Option<Self> {
let s_str: &str = s.as_ref();
match s_str {
"Iptc4xmpCore:AltTextAccessibility" => Some(IptcKey::AltTextAccessibility),
"photoshop:City" => Some(IptcKey::CityLegacy),
"dc:rights" => Some(IptcKey::CopyrightNotice),
"photoshop:Country" => Some(IptcKey::CountryLegacy),
"Iptc4xmpCore:CountryCode" => Some(IptcKey::CountryCodeLegacy),
"dc:creator" => Some(IptcKey::Creator),
"Iptc4xmpCore:CreatorContactInfo" => Some(IptcKey::CreatorsContactInfo),
"photoshop:AuthorsPosition" => Some(IptcKey::CreatorsJobtitle),
"photoshop:Credit" => Some(IptcKey::CreditLine),
"photoshop:DateCreated" => Some(IptcKey::DateCreated),
"dc:description" => Some(IptcKey::Description),
"photoshop:CaptionWriter" => Some(IptcKey::DescriptionWriter),
"Iptc4xmpCore:ExtDescrAccessibility" => Some(IptcKey::ExtendedDescriptionAccessibility),
"photoshop:Headline" => Some(IptcKey::Headline),
"photoshop:Instructions" => Some(IptcKey::Instructions),
"Iptc4xmpCore:IntellectualGenre" => Some(IptcKey::IntellectualGenreLegacy),
"photoshop:TransmissionReference" => Some(IptcKey::JobId),
"dc:subject" => Some(IptcKey::Keywords),
"photoshop:State" => Some(IptcKey::ProvinceOrStateLegacy),
"xmpRights:UsageTerms" => Some(IptcKey::RightsUsageTerms),
"Iptc4xmpCore:Scene" => Some(IptcKey::SceneCode),
"photoshop:Source" => Some(IptcKey::SourceSupplyChain),
"Iptc4xmpCore:SubjectCode" => Some(IptcKey::SubjectCodeLegacy),
"Iptc4xmpCore:Location" => Some(IptcKey::SublocationLegacy),
"dc:title" => Some(IptcKey::Title),
"Iptc4xmpExt:AddlModelInfo" => Some(IptcKey::AdditionalModelInformation),
"Iptc4xmpExt:ArtworkOrObject" => Some(IptcKey::ArtworkOrObjectInTheImage),
"Iptc4xmpExt:OrganisationInImageCode" => Some(IptcKey::CodeOfOrganisationFeaturedInTheImage),
"Iptc4xmpExt:Contributor" => Some(IptcKey::Contributor),
"plus:CopyrightOwner" => Some(IptcKey::CopyrightOwner),
"Iptc4xmpExt:AboutCvTerm" => Some(IptcKey::CvTermAboutImage),
"plus:DataMining" => Some(IptcKey::DataMining),
"plus:OtherConstraints" => Some(IptcKey::OtherConstraints),
"Iptc4xmpExt:DigImageGUID" => Some(IptcKey::DigitalImageGuid),
"Iptc4xmpExt:DigitalSourceType" => Some(IptcKey::DigitalSourceType),
"Iptc4xmpExt:EmbdEncRightsExpr" => Some(IptcKey::EmbeddedEncodedRightsExpression),
"Iptc4xmpExt:EventId" => Some(IptcKey::EventIdentifier),
"Iptc4xmpExt:Event" => Some(IptcKey::EventName),
"Iptc4xmpExt:Genre" => Some(IptcKey::Genre),
"plus:ImageCreator" => Some(IptcKey::ImageCreator),
"xmp:Rating" => Some(IptcKey::ImageRating),
"Iptc4xmpExt:ImageRegion" => Some(IptcKey::ImageRegion),
"Iptc4xmpExt:RegistryId" => Some(IptcKey::ImageRegistryEntry),
"plus:ImageSupplier" => Some(IptcKey::ImageSupplier),
"plus:ImageSupplierImageID" => Some(IptcKey::ImageSupplierImageId),
"plus:Licensor" => Some(IptcKey::Licensor),
"Iptc4xmpExt:LinkedEncRightsExpr" => Some(IptcKey::LinkedEncodedRightsExpression),
"Iptc4xmpExt:LocationCreated" => Some(IptcKey::LocationCreated),
"Iptc4xmpExt:LocationShown" => Some(IptcKey::LocationShownInTheImage),
"Iptc4xmpExt:MaxAvailHeight" => Some(IptcKey::MaxAvailHeight),
"Iptc4xmpExt:MaxAvailWidth" => Some(IptcKey::MaxAvailWidth),
"plus:MinorModelAgeDisclosure" => Some(IptcKey::MinorModelAgeDisclosure),
"Iptc4xmpExt:ModelAge" => Some(IptcKey::ModelAge),
"plus:ModelReleaseID" => Some(IptcKey::ModelReleaseId),
"plus:ModelReleaseStatus" => Some(IptcKey::ModelReleaseStatus),
"Iptc4xmpExt:OrganisationInImageName" => Some(IptcKey::NameOfOrganisationFeaturedInTheImage),
"Iptc4xmpExt:PersonInImage" => Some(IptcKey::PersonShownInTheImage),
"Iptc4xmpExt:PersonInImageWDetails" => Some(IptcKey::PersonShownInTheImageWithDetails),
"Iptc4xmpExt:ProductInImage" => Some(IptcKey::ProductShownInTheImage),
"plus:PropertyReleaseID" => Some(IptcKey::PropertyReleaseId),
"plus:PropertyReleaseStatus" => Some(IptcKey::PropertyReleaseStatus),
"xmpRights:WebStatement" => Some(IptcKey::WebStatementOfRights),
_ => None,
}
}
}
impl ::core::convert::From<crate::iptc::IptcKeyValue> for crate::iptc::IptcKey {
fn from(value: crate::iptc::IptcKeyValue) -> Self {
match value {
crate::iptc::IptcKeyValue::AltTextAccessibility { .. } => crate::iptc::IptcKey::AltTextAccessibility,
crate::iptc::IptcKeyValue::CityLegacy { .. } => crate::iptc::IptcKey::CityLegacy,
crate::iptc::IptcKeyValue::CopyrightNotice { .. } => crate::iptc::IptcKey::CopyrightNotice,
crate::iptc::IptcKeyValue::CountryLegacy { .. } => crate::iptc::IptcKey::CountryLegacy,
crate::iptc::IptcKeyValue::CountryCodeLegacy { .. } => crate::iptc::IptcKey::CountryCodeLegacy,
crate::iptc::IptcKeyValue::Creator { .. } => crate::iptc::IptcKey::Creator,
crate::iptc::IptcKeyValue::CreatorsContactInfo { .. } => crate::iptc::IptcKey::CreatorsContactInfo,
crate::iptc::IptcKeyValue::CreatorsJobtitle { .. } => crate::iptc::IptcKey::CreatorsJobtitle,
crate::iptc::IptcKeyValue::CreditLine { .. } => crate::iptc::IptcKey::CreditLine,
crate::iptc::IptcKeyValue::DateCreated { .. } => crate::iptc::IptcKey::DateCreated,
crate::iptc::IptcKeyValue::Description { .. } => crate::iptc::IptcKey::Description,
crate::iptc::IptcKeyValue::DescriptionWriter { .. } => crate::iptc::IptcKey::DescriptionWriter,
crate::iptc::IptcKeyValue::ExtendedDescriptionAccessibility { .. } => crate::iptc::IptcKey::ExtendedDescriptionAccessibility,
crate::iptc::IptcKeyValue::Headline { .. } => crate::iptc::IptcKey::Headline,
crate::iptc::IptcKeyValue::Instructions { .. } => crate::iptc::IptcKey::Instructions,
crate::iptc::IptcKeyValue::IntellectualGenreLegacy { .. } => crate::iptc::IptcKey::IntellectualGenreLegacy,
crate::iptc::IptcKeyValue::JobId { .. } => crate::iptc::IptcKey::JobId,
crate::iptc::IptcKeyValue::Keywords { .. } => crate::iptc::IptcKey::Keywords,
crate::iptc::IptcKeyValue::ProvinceOrStateLegacy { .. } => crate::iptc::IptcKey::ProvinceOrStateLegacy,
crate::iptc::IptcKeyValue::RightsUsageTerms { .. } => crate::iptc::IptcKey::RightsUsageTerms,
crate::iptc::IptcKeyValue::SceneCode { .. } => crate::iptc::IptcKey::SceneCode,
crate::iptc::IptcKeyValue::SourceSupplyChain { .. } => crate::iptc::IptcKey::SourceSupplyChain,
crate::iptc::IptcKeyValue::SubjectCodeLegacy { .. } => crate::iptc::IptcKey::SubjectCodeLegacy,
crate::iptc::IptcKeyValue::SublocationLegacy { .. } => crate::iptc::IptcKey::SublocationLegacy,
crate::iptc::IptcKeyValue::Title { .. } => crate::iptc::IptcKey::Title,
crate::iptc::IptcKeyValue::AdditionalModelInformation { .. } => crate::iptc::IptcKey::AdditionalModelInformation,
crate::iptc::IptcKeyValue::ArtworkOrObjectInTheImage { .. } => crate::iptc::IptcKey::ArtworkOrObjectInTheImage,
crate::iptc::IptcKeyValue::CodeOfOrganisationFeaturedInTheImage { .. } => crate::iptc::IptcKey::CodeOfOrganisationFeaturedInTheImage,
crate::iptc::IptcKeyValue::Contributor { .. } => crate::iptc::IptcKey::Contributor,
crate::iptc::IptcKeyValue::CopyrightOwner { .. } => crate::iptc::IptcKey::CopyrightOwner,
crate::iptc::IptcKeyValue::CvTermAboutImage { .. } => crate::iptc::IptcKey::CvTermAboutImage,
crate::iptc::IptcKeyValue::DataMining { .. } => crate::iptc::IptcKey::DataMining,
crate::iptc::IptcKeyValue::OtherConstraints { .. } => crate::iptc::IptcKey::OtherConstraints,
crate::iptc::IptcKeyValue::DigitalImageGuid { .. } => crate::iptc::IptcKey::DigitalImageGuid,
crate::iptc::IptcKeyValue::DigitalSourceType { .. } => crate::iptc::IptcKey::DigitalSourceType,
crate::iptc::IptcKeyValue::EmbeddedEncodedRightsExpression { .. } => crate::iptc::IptcKey::EmbeddedEncodedRightsExpression,
crate::iptc::IptcKeyValue::EventIdentifier { .. } => crate::iptc::IptcKey::EventIdentifier,
crate::iptc::IptcKeyValue::EventName { .. } => crate::iptc::IptcKey::EventName,
crate::iptc::IptcKeyValue::Genre { .. } => crate::iptc::IptcKey::Genre,
crate::iptc::IptcKeyValue::ImageCreator { .. } => crate::iptc::IptcKey::ImageCreator,
crate::iptc::IptcKeyValue::ImageRating { .. } => crate::iptc::IptcKey::ImageRating,
crate::iptc::IptcKeyValue::ImageRegion { .. } => crate::iptc::IptcKey::ImageRegion,
crate::iptc::IptcKeyValue::ImageRegistryEntry { .. } => crate::iptc::IptcKey::ImageRegistryEntry,
crate::iptc::IptcKeyValue::ImageSupplier { .. } => crate::iptc::IptcKey::ImageSupplier,
crate::iptc::IptcKeyValue::ImageSupplierImageId { .. } => crate::iptc::IptcKey::ImageSupplierImageId,
crate::iptc::IptcKeyValue::Licensor { .. } => crate::iptc::IptcKey::Licensor,
crate::iptc::IptcKeyValue::LinkedEncodedRightsExpression { .. } => crate::iptc::IptcKey::LinkedEncodedRightsExpression,
crate::iptc::IptcKeyValue::LocationCreated { .. } => crate::iptc::IptcKey::LocationCreated,
crate::iptc::IptcKeyValue::LocationShownInTheImage { .. } => crate::iptc::IptcKey::LocationShownInTheImage,
crate::iptc::IptcKeyValue::MaxAvailHeight { .. } => crate::iptc::IptcKey::MaxAvailHeight,
crate::iptc::IptcKeyValue::MaxAvailWidth { .. } => crate::iptc::IptcKey::MaxAvailWidth,
crate::iptc::IptcKeyValue::MinorModelAgeDisclosure { .. } => crate::iptc::IptcKey::MinorModelAgeDisclosure,
crate::iptc::IptcKeyValue::ModelAge { .. } => crate::iptc::IptcKey::ModelAge,
crate::iptc::IptcKeyValue::ModelReleaseId { .. } => crate::iptc::IptcKey::ModelReleaseId,
crate::iptc::IptcKeyValue::ModelReleaseStatus { .. } => crate::iptc::IptcKey::ModelReleaseStatus,
crate::iptc::IptcKeyValue::NameOfOrganisationFeaturedInTheImage { .. } => crate::iptc::IptcKey::NameOfOrganisationFeaturedInTheImage,
crate::iptc::IptcKeyValue::PersonShownInTheImage { .. } => crate::iptc::IptcKey::PersonShownInTheImage,
crate::iptc::IptcKeyValue::PersonShownInTheImageWithDetails { .. } => crate::iptc::IptcKey::PersonShownInTheImageWithDetails,
crate::iptc::IptcKeyValue::ProductShownInTheImage { .. } => crate::iptc::IptcKey::ProductShownInTheImage,
crate::iptc::IptcKeyValue::PropertyReleaseId { .. } => crate::iptc::IptcKey::PropertyReleaseId,
crate::iptc::IptcKeyValue::PropertyReleaseStatus { .. } => crate::iptc::IptcKey::PropertyReleaseStatus,
crate::iptc::IptcKeyValue::WebStatementOfRights { .. } => crate::iptc::IptcKey::WebStatementOfRights,
}
}
}
pub mod structs {
#[derive(Clone, Debug, PartialEq, PartialOrd)]
pub struct CreatorContactInfo {
pub address: ::core::option::Option<::alloc::string::String>,
pub city: ::core::option::Option<::alloc::string::String>,
pub country: ::core::option::Option<::alloc::string::String>,
pub emailwork: ::core::option::Option<::alloc::string::String>,
pub phonework: ::core::option::Option<::alloc::string::String>,
pub postal_code: ::core::option::Option<::alloc::string::String>,
pub region: ::core::option::Option<::alloc::string::String>,
pub weburlwork: ::core::option::Option<::alloc::string::String>,
}
impl CreatorContactInfo {
pub const ADDRESS_XMP_ID: &str = "Iptc4xmpCore:CiAdrExtadr";
pub const CITY_XMP_ID: &str = "Iptc4xmpCore:CiAdrCity";
pub const COUNTRY_XMP_ID: &str = "Iptc4xmpCore:CiAdrCtry";
pub const EMAILWORK_XMP_ID: &str = "Iptc4xmpCore:CiEmailWork";
pub const PHONEWORK_XMP_ID: &str = "Iptc4xmpCore:CiTelWork";
pub const POSTAL_CODE_XMP_ID: &str = "Iptc4xmpCore:CiAdrPcode";
pub const REGION_XMP_ID: &str = "Iptc4xmpCore:CiAdrRegion";
pub const WEBURLWORK_XMP_ID: &str = "Iptc4xmpCore:CiUrlWork";
}
#[derive(Clone, Debug, PartialEq, PartialOrd)]
pub struct ArtworkOrObject {
pub circa_date_created: ::core::option::Option<::alloc::string::String>,
pub content_description: ::core::option::Option<::alloc::string::String>,
pub contribution_description: ::core::option::Option<::alloc::string::String>,
pub copyright_notice: ::core::option::Option<::alloc::string::String>,
pub creator_names: ::core::option::Option<::alloc::vec::Vec<::alloc::string::String>>,
pub creator_identifiers: ::core::option::Option<::alloc::vec::Vec<::alloc::string::String>>,
pub current_copyright_owner_identifier: ::core::option::Option<::alloc::string::String>,
pub current_copyright_owner_name: ::core::option::Option<::alloc::string::String>,
pub current_licensor_identifier: ::core::option::Option<::alloc::string::String>,
pub current_licensor_name: ::core::option::Option<::alloc::string::String>,
pub date_created: ::core::option::Option<::alloc::string::String>,
pub physical_description: ::core::option::Option<::alloc::string::String>,
pub source: ::core::option::Option<::alloc::string::String>,
pub source_inventory_nr: ::core::option::Option<::alloc::string::String>,
pub source_inventory_url: ::core::option::Option<::alloc::string::String>,
pub style_period: ::core::option::Option<::alloc::vec::Vec<::alloc::string::String>>,
pub title: ::core::option::Option<::alloc::string::String>,
}
impl ArtworkOrObject {
pub const CIRCA_DATE_CREATED_XMP_ID: &str = "Iptc4xmpExt:AOCircaDateCreated";
pub const CONTENT_DESCRIPTION_XMP_ID: &str = "Iptc4xmpExt:AOContentDescription";
pub const CONTRIBUTION_DESCRIPTION_XMP_ID: &str = "Iptc4xmpExt:AOContributionDescription";
pub const COPYRIGHT_NOTICE_XMP_ID: &str = "Iptc4xmpExt:AOCopyrightNotice";
pub const CREATOR_NAMES_XMP_ID: &str = "Iptc4xmpExt:AOCreator";
pub const CREATOR_IDENTIFIERS_XMP_ID: &str = "Iptc4xmpExt:AOCreatorId";
pub const CURRENT_COPYRIGHT_OWNER_IDENTIFIER_XMP_ID: &str = "Iptc4xmpExt:AOCurrentCopyrightOwnerId";
pub const CURRENT_COPYRIGHT_OWNER_NAME_XMP_ID: &str = "Iptc4xmpExt:AOCurrentCopyrightOwnerName";
pub const CURRENT_LICENSOR_IDENTIFIER_XMP_ID: &str = "Iptc4xmpExt:AOCurrentLicensorId";
pub const CURRENT_LICENSOR_NAME_XMP_ID: &str = "Iptc4xmpExt:AOCurrentLicensorName";
pub const DATE_CREATED_XMP_ID: &str = "Iptc4xmpExt:AODateCreated";
pub const PHYSICAL_DESCRIPTION_XMP_ID: &str = "Iptc4xmpExt:AOPhysicalDescription";
pub const SOURCE_XMP_ID: &str = "Iptc4xmpExt:AOSource";
pub const SOURCE_INVENTORY_NR_XMP_ID: &str = "Iptc4xmpExt:AOSourceInvNo";
pub const SOURCE_INVENTORY_URL_XMP_ID: &str = "Iptc4xmpExt:AOSourceInvURL";
pub const STYLE_PERIOD_XMP_ID: &str = "Iptc4xmpExt:AOStylePeriod";
pub const TITLE_XMP_ID: &str = "Iptc4xmpExt:AOTitle";
}
#[derive(Clone, Debug, PartialEq, PartialOrd)]
pub struct CvTerm {
pub cv_id: ::core::option::Option<::alloc::string::String>,
pub cv_term_id: ::core::option::Option<::alloc::string::String>,
pub cv_term_name: ::core::option::Option<::alloc::string::String>,
pub cv_term_refined_about: ::core::option::Option<::alloc::string::String>,
}
impl CvTerm {
pub const CV_ID_XMP_ID: &str = "Iptc4xmpExt:CvId";
pub const CV_TERM_ID_XMP_ID: &str = "Iptc4xmpExt:CvTermId";
pub const CV_TERM_NAME_XMP_ID: &str = "Iptc4xmpExt:CvTermName";
pub const CV_TERM_REFINED_ABOUT_XMP_ID: &str = "Iptc4xmpExt:CvTermRefinedAbout";
}
#[derive(Clone, Debug, PartialEq, PartialOrd)]
pub struct EmbdEncRightsExpr {
pub enc_rights_expr: ::core::option::Option<::alloc::string::String>,
pub rights_expr_enc_type: ::core::option::Option<::alloc::string::String>,
pub rights_expr_lang_id: ::core::option::Option<::alloc::string::String>,
}
impl EmbdEncRightsExpr {
pub const ENC_RIGHTS_EXPR_XMP_ID: &str = "Iptc4xmpExt:EncRightsExpr";
pub const RIGHTS_EXPR_ENC_TYPE_XMP_ID: &str = "Iptc4xmpExt:RightsExprEncType";
pub const RIGHTS_EXPR_LANG_ID_XMP_ID: &str = "Iptc4xmpExt:RightsExprLangId";
}
#[derive(Clone, Debug, PartialEq, PartialOrd)]
pub struct Entity {
pub identifiers: ::core::option::Option<::alloc::vec::Vec<::alloc::string::String>>,
pub name: ::core::option::Option<::alloc::string::String>,
}
impl Entity {
pub const IDENTIFIERS_XMP_ID: &str = "xmp:Identifier";
pub const NAME_XMP_ID: &str = "Iptc4xmpExt:Name";
}
#[derive(Clone, Debug, PartialEq, PartialOrd)]
pub struct EntityWRole {
pub identifiers: ::core::option::Option<::alloc::vec::Vec<::alloc::string::String>>,
pub name: ::core::option::Option<::alloc::string::String>,
pub role: ::core::option::Option<::alloc::vec::Vec<::alloc::string::String>>,
}
impl EntityWRole {
pub const IDENTIFIERS_XMP_ID: &str = "xmp:Identifier";
pub const NAME_XMP_ID: &str = "Iptc4xmpExt:Name";
pub const ROLE_XMP_ID: &str = "Iptc4xmpExt:Role";
}
#[derive(Clone, Debug, PartialEq, PartialOrd)]
pub struct ImageRegion {
pub region_boundary: ::core::option::Option<crate::iptc::structs::RegionBoundary>,
pub r_id: ::core::option::Option<::alloc::string::String>,
pub name: ::core::option::Option<::alloc::string::String>,
pub r_ctype: ::core::option::Option<::alloc::vec::Vec<crate::iptc::structs::Entity>>,
pub r_role: ::core::option::Option<::alloc::vec::Vec<crate::iptc::structs::Entity>>,
}
impl ImageRegion {
pub const REGION_BOUNDARY_XMP_ID: &str = "Iptc4xmpExt:RegionBoundary";
pub const R_ID_XMP_ID: &str = "Iptc4xmpExt:rId";
pub const NAME_XMP_ID: &str = "Iptc4xmpExt:Name";
pub const R_CTYPE_XMP_ID: &str = "Iptc4xmpExt:rCtype";
pub const R_ROLE_XMP_ID: &str = "Iptc4xmpExt:rRole";
}
#[derive(Clone, Debug, PartialEq, PartialOrd)]
pub struct RegionBoundary {
pub rb_shape: ::core::option::Option<::alloc::string::String>,
pub rb_unit: ::core::option::Option<::alloc::string::String>,
pub rb_x: ::core::option::Option<f64>,
pub rb_y: ::core::option::Option<f64>,
pub rb_w: ::core::option::Option<f64>,
pub rb_h: ::core::option::Option<f64>,
pub rb_rx: ::core::option::Option<f64>,
pub rb_vertices: ::core::option::Option<::alloc::vec::Vec<crate::iptc::structs::RegionBoundaryPoint>>,
}
impl RegionBoundary {
pub const RB_SHAPE_XMP_ID: &str = "Iptc4xmpExt:rbShape";
pub const RB_UNIT_XMP_ID: &str = "Iptc4xmpExt:rbUnit";
pub const RB_X_XMP_ID: &str = "Iptc4xmpExt:rbX";
pub const RB_Y_XMP_ID: &str = "Iptc4xmpExt:rbY";
pub const RB_W_XMP_ID: &str = "Iptc4xmpExt:rbW";
pub const RB_H_XMP_ID: &str = "Iptc4xmpExt:rbH";
pub const RB_RX_XMP_ID: &str = "Iptc4xmpExt:rbRx";
pub const RB_VERTICES_XMP_ID: &str = "Iptc4xmpExt:rbVertices";
}
#[derive(Clone, Debug, PartialEq, PartialOrd)]
pub struct RegionBoundaryPoint {
pub rb_x: ::core::option::Option<f64>,
pub rb_y: ::core::option::Option<f64>,
}
impl RegionBoundaryPoint {
pub const RB_X_XMP_ID: &str = "Iptc4xmpExt:rbX";
pub const RB_Y_XMP_ID: &str = "Iptc4xmpExt:rbY";
}
#[derive(Clone, Debug, PartialEq, PartialOrd)]
pub struct LinkedEncRightsExpr {
pub linked_rights_expr: ::core::option::Option<::alloc::string::String>,
pub rights_expr_enc_type: ::core::option::Option<::alloc::string::String>,
pub rights_expr_lang_id: ::core::option::Option<::alloc::string::String>,
}
impl LinkedEncRightsExpr {
pub const LINKED_RIGHTS_EXPR_XMP_ID: &str = "Iptc4xmpExt:LinkedRightsExpr";
pub const RIGHTS_EXPR_ENC_TYPE_XMP_ID: &str = "Iptc4xmpExt:RightsExprEncType";
pub const RIGHTS_EXPR_LANG_ID_XMP_ID: &str = "Iptc4xmpExt:RightsExprLangId";
}
#[derive(Clone, Debug, PartialEq, PartialOrd)]
pub struct Location {
pub city: ::core::option::Option<::alloc::string::String>,
pub country_code: ::core::option::Option<::alloc::string::String>,
pub country_name: ::core::option::Option<::alloc::string::String>,
pub gps_altitude: ::core::option::Option<f64>,
pub gps_altitude_ref: ::core::option::Option<f64>,
pub gps_latitude: ::core::option::Option<f64>,
pub gps_longitude: ::core::option::Option<f64>,
pub identifiers: ::core::option::Option<::alloc::vec::Vec<::alloc::string::String>>,
pub name: ::core::option::Option<::alloc::string::String>,
pub province_state: ::core::option::Option<::alloc::string::String>,
pub sublocation: ::core::option::Option<::alloc::string::String>,
pub world_region: ::core::option::Option<::alloc::string::String>,
}
impl Location {
pub const CITY_XMP_ID: &str = "Iptc4xmpExt:City";
pub const COUNTRY_CODE_XMP_ID: &str = "Iptc4xmpExt:CountryCode";
pub const COUNTRY_NAME_XMP_ID: &str = "Iptc4xmpExt:CountryName";
pub const GPS_ALTITUDE_XMP_ID: &str = "exif:GPSAltitude";
pub const GPS_ALTITUDE_REF_XMP_ID: &str = "exif:GPSAltitudeRef";
pub const GPS_LATITUDE_XMP_ID: &str = "exif:GPSLatitude";
pub const GPS_LONGITUDE_XMP_ID: &str = "exif:GPSLongitude";
pub const IDENTIFIERS_XMP_ID: &str = "Iptc4xmpExt:LocationId";
pub const NAME_XMP_ID: &str = "Iptc4xmpExt:LocationName";
pub const PROVINCE_STATE_XMP_ID: &str = "Iptc4xmpExt:ProvinceState";
pub const SUBLOCATION_XMP_ID: &str = "Iptc4xmpExt:Sublocation";
pub const WORLD_REGION_XMP_ID: &str = "Iptc4xmpExt:WorldRegion";
}
#[derive(Clone, Debug, PartialEq, PartialOrd)]
pub struct PersonWDetails {
pub characteristics: ::core::option::Option<::alloc::vec::Vec<crate::iptc::structs::CvTerm>>,
pub description: ::core::option::Option<::alloc::string::String>,
pub identifiers: ::core::option::Option<::alloc::vec::Vec<::alloc::string::String>>,
pub name: ::core::option::Option<::alloc::string::String>,
}
impl PersonWDetails {
pub const CHARACTERISTICS_XMP_ID: &str = "Iptc4xmpExt:PersonCharacteristic";
pub const DESCRIPTION_XMP_ID: &str = "Iptc4xmpExt:PersonDescription";
pub const IDENTIFIERS_XMP_ID: &str = "Iptc4xmpExt:PersonId";
pub const NAME_XMP_ID: &str = "Iptc4xmpExt:PersonName";
}
#[derive(Clone, Debug, PartialEq, PartialOrd)]
pub struct ProductWGtin {
pub description: ::core::option::Option<::alloc::string::String>,
pub gtin: ::core::option::Option<::alloc::string::String>,
pub identifiers: ::core::option::Option<::alloc::vec::Vec<::alloc::string::String>>,
pub name: ::core::option::Option<::alloc::string::String>,
}
impl ProductWGtin {
pub const DESCRIPTION_XMP_ID: &str = "Iptc4xmpExt:ProductDescription";
pub const GTIN_XMP_ID: &str = "Iptc4xmpExt:ProductGTIN";
pub const IDENTIFIERS_XMP_ID: &str = "Iptc4xmpExt:ProductId";
pub const NAME_XMP_ID: &str = "Iptc4xmpExt:ProductName";
}
#[derive(Clone, Debug, PartialEq, PartialOrd)]
pub struct RegistryEntry {
pub asset_identifier: ::core::option::Option<::alloc::string::String>,
pub registry_identifier: ::core::option::Option<::alloc::string::String>,
pub role: ::core::option::Option<::alloc::string::String>,
}
impl RegistryEntry {
pub const ASSET_IDENTIFIER_XMP_ID: &str = "Iptc4xmpExt:RegItemId";
pub const REGISTRY_IDENTIFIER_XMP_ID: &str = "Iptc4xmpExt:RegOrgId";
pub const ROLE_XMP_ID: &str = "Iptc4xmpExt:RegEntryRole";
}
#[derive(Clone, Debug, PartialEq, PartialOrd)]
pub struct Licensor {
pub licensor_id: ::core::option::Option<::alloc::string::String>,
pub licensor_name: ::core::option::Option<::alloc::string::String>,
pub licensor_address: ::core::option::Option<::alloc::string::String>,
pub licensor_address_detail: ::core::option::Option<::alloc::string::String>,
pub licensor_city: ::core::option::Option<::alloc::string::String>,
pub licensor_state_province: ::core::option::Option<::alloc::string::String>,
pub licensor_postal_code: ::core::option::Option<::alloc::string::String>,
pub licensor_country_name: ::core::option::Option<::alloc::string::String>,
pub licensor_telephone_type1: ::core::option::Option<::alloc::string::String>,
pub licensor_telephone1: ::core::option::Option<::alloc::string::String>,
pub licensor_telephone_type2: ::core::option::Option<::alloc::string::String>,
pub licensor_telephone2: ::core::option::Option<::alloc::string::String>,
pub licensor_email: ::core::option::Option<::alloc::string::String>,
pub licensor_url: ::core::option::Option<::alloc::string::String>,
}
impl Licensor {
pub const LICENSOR_ID_XMP_ID: &str = "plus:LicensorID";
pub const LICENSOR_NAME_XMP_ID: &str = "plus:LicensorName";
pub const LICENSOR_ADDRESS_XMP_ID: &str = "plus:LicensorStreetAddress";
pub const LICENSOR_ADDRESS_DETAIL_XMP_ID: &str = "plus:LicensorExtendedAddress";
pub const LICENSOR_CITY_XMP_ID: &str = "plus:LicensorCity";
pub const LICENSOR_STATE_PROVINCE_XMP_ID: &str = "plus:LicensorRegion";
pub const LICENSOR_POSTAL_CODE_XMP_ID: &str = "plus:LicensorPostalCode";
pub const LICENSOR_COUNTRY_NAME_XMP_ID: &str = "plus:LicensorCountry";
pub const LICENSOR_TELEPHONE_TYPE1_XMP_ID: &str = "plus:LicensorTelephoneType1";
pub const LICENSOR_TELEPHONE1_XMP_ID: &str = "plus:LicensorTelephone1";
pub const LICENSOR_TELEPHONE_TYPE2_XMP_ID: &str = "plus:LicensorTelephoneType2";
pub const LICENSOR_TELEPHONE2_XMP_ID: &str = "plus:LicensorTelephone2";
pub const LICENSOR_EMAIL_XMP_ID: &str = "plus:LicensorEmail";
pub const LICENSOR_URL_XMP_ID: &str = "plus:LicensorURL";
}
#[derive(Clone, Debug, PartialEq, PartialOrd)]
pub struct CopyrightOwner {
pub copyright_owner_id: ::core::option::Option<::alloc::string::String>,
pub copyright_owner_name: ::core::option::Option<::alloc::string::String>,
}
impl CopyrightOwner {
pub const COPYRIGHT_OWNER_ID_XMP_ID: &str = "plus:CopyrightOwnerID";
pub const COPYRIGHT_OWNER_NAME_XMP_ID: &str = "plus:CopyrightOwnerName";
}
#[derive(Clone, Debug, PartialEq, PartialOrd)]
pub struct ImageCreator {
pub image_creator_id: ::core::option::Option<::alloc::string::String>,
pub image_creator_name: ::core::option::Option<::alloc::string::String>,
}
impl ImageCreator {
pub const IMAGE_CREATOR_ID_XMP_ID: &str = "plus:ImageCreatorID";
pub const IMAGE_CREATOR_NAME_XMP_ID: &str = "plus:ImageCreatorName";
}
#[derive(Clone, Debug, PartialEq, PartialOrd)]
pub struct ImageSupplier {
pub image_supplier_id: ::core::option::Option<::alloc::string::String>,
pub image_supplier_name: ::core::option::Option<::alloc::string::String>,
}
impl ImageSupplier {
pub const IMAGE_SUPPLIER_ID_XMP_ID: &str = "plus:ImageSupplierID";
pub const IMAGE_SUPPLIER_NAME_XMP_ID: &str = "plus:ImageSupplierName";
}
#[derive(Clone, Debug, PartialEq, PartialOrd)]
pub struct AltLang {
}
impl AltLang {
}
}