X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=common.go;h=13a640038b2e18f6f8721e29e1b755e3c3acab95;hb=976639a8b7715af5c74d66d0fb66477ff1470b89;hp=0c56faf34736d4ae84ca446b1a52a88fd4ed36f3;hpb=ef05102b307068482a6084fee0580a13ee934e92;p=meta4ra.git diff --git a/common.go b/common.go index 0c56faf..13a6400 100644 --- a/common.go +++ b/common.go @@ -1,70 +1,23 @@ -/* -meta4a -- Metalink 4.0 creator -Copyright (C) 2021-2023 Sergey Matveev - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, version 3 of the License. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ +// meta4ra -- Metalink 4.0 utilities +// Copyright (C) 2021-2024 Sergey Matveev +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, version 3 of the License. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . // Metalink 4.0 utilities package meta4ra -import ( - "encoding/xml" - "time" -) - const ( - Generator = "meta4ra/0.3.0" - GPGSigMediaType = "application/pgp-signature" + Generator = "meta4ra/0.4.0" + SigMediaTypePGP = "application/pgp-signature" + SigMediaTypeSSH = "application/ssh-signature" ) - -type Metalink struct { - XMLName xml.Name `xml:"urn:ietf:params:xml:ns:metalink metalink"` - Files []File `xml:"file"` - Generator string `xml:"generator,,omitempty"` - Published time.Time `xml:"published,,omitempty"` -} - -type File struct { - XMLName xml.Name `xml:"file"` - Name string `xml:"name,attr"` - Description string `xml:"description,,omitempty"` - Hashes []Hash `xml:"hash,,omitempty"` - MetaURLs []MetaURL `xml:"metaurl,,omitempty"` - Signature *Signature `xml:"signature"` - Size uint64 `xml:"size,,omitempty"` - URLs []URL `xml:"url,,omitempty"` -} - -type URL struct { - XMLName xml.Name `xml:"url"` - URL string `xml:",chardata"` -} - -type Signature struct { - XMLName xml.Name `xml:"signature"` - MediaType string `xml:"mediatype,attr"` - Signature string `xml:",cdata"` -} - -type Hash struct { - XMLName xml.Name `xml:"hash"` - Type string `xml:"type,attr"` - Hash string `xml:",chardata"` -} - -type MetaURL struct { - XMLName xml.Name `xml:"metaurl"` - MediaType string `xml:"mediatype,attr"` - URL string `xml:",chardata"` -}