=encoding utf8
=head1 NAME
Net::Domain::TMCH - TradeMark Clearing House
=head1 INHERITANCE
Net::Domain::TMCH
is a Exporter
=head1 SYNOPSIS
my $tmch = Net::Domain::TMCH->new(%options);
my $smd = $tmch->smd($filename);
=head1 DESCRIPTION
Draft RFC L<http://tools.ietf.org/html/draft-lozano-tmch-func-07>
specifies a way for TLD (top-level domain registries) to exchange
information about trademark rights, brand registrations.
This module manages the verification process of "SMD"-files, each
containing a crypto-signed XML structure of information related to
a single trademark claim.
=head1 METHODS
=head2 Constructors
=over 4
=item Net::Domain::TMCH-E<gt>B<new>(OPTIONS)
-Option --Default
auto_datetime <false>
cert_revocations <according to rfc>
is_pilot <false>
smd_admin <generated internally>
smd_revocations []
tmch_certificate <included>
=over 2
=item auto_datetime => BOOLEAN
Convert dates in the XML automatically into DateTime objects.
=item cert_revocations => FILENAME|URI|OBJECT
The CRL for invalidated TMV certificates. You may also provide an
L<Net::Domain::TMCH::CRL|Net::Domain::TMCH::CRL> object.
=item is_pilot => BOOLEAN
=item smd_admin => L<Net::Domain::SMD::Schema|Net::Domain::SMD::Schema>-object
=item smd_revocations => FILENAME|URI|ARRAY
=item tmch_certificate => FILENAME
This must be a PEM file which contains the certificate on top of all
TMCH certificates.
=back
=back
=head2 Attributes
=over 4
=item $obj-E<gt>B<certRevocations>()
=item $obj-E<gt>B<isPilot>()
=item $obj-E<gt>B<smdAdmin>()
=item $obj-E<gt>B<smdRevocations>()
=item $obj-E<gt>B<tmchCA>()
=item $obj-E<gt>B<tmchCertficate>()
=back
=head2 Actions
=over 4
=item $obj-E<gt>B<smd>((FILENAME|XML|STRING), OPTIONS)
The first argument can be either a FILENAME (in which case an
L<Net::Domain::SMD::File|Net::Domain::SMD::File> object is returned, or an XML::LibXML::Element
or a STRING (bother returning an L<Net::Domain::SMD|Net::Domain::SMD> object). In either
case, the returned object reflects what is kept inside the XML.
C<undef> is returned when the data is invalid, for instance because it
has expired.
-Option --Default
accept_expired <false>
trust_certificates <false>
=over 2
=item accept_expired => BOOLEAN
When true, you will be able to access expired SMD files. This is
especially useful in regression tests, or when you process ancient
SMD files.
=item trust_certificates => BOOLEAN
Do not check the certificates inside the SMD file for validity.
=back
example:
my $smd = $tmch->smd($fh)
or die "cannot use $fn: $@";
=back
=head1 SEE ALSO
This module is part of Net-Domain-TMCH distribution version 0.17,
built on January 13, 2014. Development was supported by NIC.at, the Austrian
Domainname Registry.
Website: F<http://perl.overmeer.net/net-domain-tmch/>
The documentation and interface style is consistent with a large set of
modules, belonging to the L<XML::Compile> suite.
=head1 LICENSE
Copyrights 2013-2014 by [Mark Overmeer]. For other contributors see ChangeLog.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
See F<http://www.perl.com/perl/misc/Artistic.html>