File Coverage

blib/lib/Net/DRI/Protocol/OpenSRS/XCP.pm
Criterion Covered Total %
statement 10 12 83.3
branch n/a
condition n/a
subroutine 4 4 100.0
pod n/a
total 14 16 87.5


line stmt bran cond sub pod time code
1             ## Domain Registry Interface, OpenSRS XCP Protocol
2             ##
3             ## Copyright (c) 2008-2010,2012,2013 Patrick Mevzek . All rights reserved.
4             ##
5             ## This file is part of Net::DRI
6             ##
7             ## Net::DRI is free software; you can redistribute it and/or modify
8             ## it under the terms of the GNU General Public License as published by
9             ## the Free Software Foundation; either version 2 of the License, or
10             ## (at your option) any later version.
11             ##
12             ## See the LICENSE file that comes with this distribution for more details.
13             ####################################################################################################
14              
15             package Net::DRI::Protocol::OpenSRS::XCP;
16              
17 2     2   1338 use strict;
  2         5  
  2         66  
18 2     2   10 use warnings;
  2         4  
  2         81  
19              
20 2     2   18 use base qw(Net::DRI::Protocol);
  2         4  
  2         541  
21              
22 2     2   1143 use Net::DRI::Protocol::OpenSRS::XCP::Message;
  0            
  0            
23             use Net::DRI::Data::Contact::OpenSRS;
24              
25             =pod
26              
27             =head1 NAME
28              
29             Net::DRI::Protocol::OpenSRS::XCP - OpenSRS XCP Protocol for Net::DRI
30              
31             =head1 DESCRIPTION
32              
33             Please see the README file for details.
34              
35             =head1 SUPPORT
36              
37             For now, support questions should be sent to:
38              
39             Enetdri@dotandco.comE
40              
41             Please also see the SUPPORT file in the distribution.
42              
43             =head1 SEE ALSO
44              
45             Ehttp://www.dotandco.com/services/software/Net-DRI/E
46              
47             =head1 AUTHOR
48              
49             Patrick Mevzek, Enetdri@dotandco.comE
50              
51             =head1 COPYRIGHT
52              
53             Copyright (c) 2008-2010,2012,2013 Patrick Mevzek .
54             All rights reserved.
55              
56             This program is free software; you can redistribute it and/or modify
57             it under the terms of the GNU General Public License as published by
58             the Free Software Foundation; either version 2 of the License, or
59             (at your option) any later version.
60              
61             See the LICENSE file that comes with this distribution for more details.
62              
63             =cut
64              
65             ####################################################################################################
66              
67             sub new
68             {
69             my ($c,$ctx,$rp)=@_;
70             my $drd=$ctx->{registry}->driver();
71             my $self=$c->SUPER::new($ctx);
72             $self->name('opensrs_xcp');
73             $self->version('3.0'); ## Specification March 17, 2008
74             $self->factories('message',sub { my $m=Net::DRI::Protocol::OpenSRS::XCP::Message->new(); return $m; });
75             ## $self->factories('message',sub { my $m=Net::DRI::Protocol::OpenSRS::XCP::Message->new(@_); $m->client_auth({id => $drd->{client_login}, pw => $drd->{client_password}}); return $m; });
76             $self->factories('contact',sub { return Net::DRI::Data::Contact::OpenSRS->new(); });
77             $self->capabilities('domain_update', 'ns', [ 'set' ]);
78             $self->capabilities('domain_update', 'contact', [ 'set' ]);
79             $self->_load($rp);
80             return $self;
81             }
82              
83             sub _load
84             {
85             my ($self,$rp)=@_;
86             my @class=map { 'Net::DRI::Protocol::OpenSRS::XCP::'.$_ } (qw/Account Domain Host Session/);
87             return $self->SUPER::_load(@class);
88             }
89              
90             sub transport_default
91             {
92             my ($self)=@_;
93             return (protocol_connection => 'Net::DRI::Protocol::OpenSRS::XCP::Connection', protocol_version => '3.0');
94             }
95              
96             ####################################################################################################
97             1;