/[cwmp]/google/trunk/lib/CWMP/Methods.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /google/trunk/lib/CWMP/Methods.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 38 - (hide annotations)
Tue Jun 19 09:43:57 2007 UTC (17 years ago) by dpavlin
Original Path: google/lib/CWMP/Response.pm
File size: 1143 byte(s)
pass $state from request to Inform, so it can construct correct SOAP Headers
(ID required)
1 dpavlin 31 package CWMP::Response;
2    
3     use strict;
4     use warnings;
5    
6 dpavlin 32 use base qw/Class::Accessor/;
7     __PACKAGE__->add_accessor( qw/
8     debug
9     /);
10 dpavlin 31
11 dpavlin 38 use XML::Generator;
12     use Carp qw/confess/;
13     use Data::Dump qw/dump/;
14    
15 dpavlin 32 =head1 NAME
16 dpavlin 31
17 dpavlin 32 CWMP::Response - generate SOAP meesage for response
18 dpavlin 31
19 dpavlin 32 =head2 METHODS
20    
21     =head2 new
22    
23     my $response = CWMP::Response->new({ debug => 1 });
24    
25     =cut
26    
27     sub new {
28     my $class = shift;
29     my $self = $class->SUPER::new( @_ );
30    
31     warn "created XML::Generator object" if $self->debug;
32    
33     return $self;
34     }
35    
36    
37 dpavlin 31 my $cwmp = [ cwmp => 'urn:dslforum-org:cwmp-1-0' ];
38     my $soap = [ soap => "http://schemas.xmlsoap.org/soap/envelope/" ];
39    
40 dpavlin 32 =head2 Inform
41 dpavlin 31
42 dpavlin 38 $response->Inform( $state );
43 dpavlin 32
44     =cut
45    
46     sub Inform {
47     my $self = shift;
48    
49 dpavlin 38 my $state = shift or confess "no state?";
50    
51     confess "no ID in state ", dump( $state ) unless ( $state->{ID} );
52    
53 dpavlin 32 my $X = XML::Generator->new(':pretty');
54    
55     return $X->Envelope( $soap, { 'soap:encodingStyle' => "http://schemas.xmlsoap.org/soap/encoding/" },
56     $X->Header( $soap,
57 dpavlin 38 $X->ID( $cwmp, { mustUnderstand => 1 }, $state->{ID} ),
58 dpavlin 32 ),
59     $X->Body( $soap,
60     $X->InformResponse( $cwmp,
61     $X->MaxEnvelopes( $cwmp, 1 )
62     )
63     ),
64     );
65     }
66    
67     1;

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.26