1 package OpenSRF::Transport::SlimJabber::MessageWrapper;
6 $class = ref($class) || $class;
12 $doc = OpenSRF::DOM->new->parse_string($xml);
13 $msg = $doc->documentElement;
15 $doc = OpenSRF::DOM->createDocument;
16 $msg = $doc->createElement( 'message' );
17 $doc->documentElement->appendChild( $msg );
21 my $self = { msg_node => $msg };
23 return bless $self => $class;
28 return $self->{msg_node}->toString(@_);
33 my ($t_body) = grep {$_->nodeName eq 'body'} $self->{msg_node}->childNodes;
35 my $body = $t_body->textContent;
43 my ($t_node) = grep {$_->nodeName eq 'thread'} $self->{msg_node}->childNodes;
45 return $t_node->textContent;
52 $self->{msg_node}->getAttribute( 'type' );
59 my $rid = $self->{msg_node}->getAttribute( 'router_from' );
62 return $self->{msg_node}->getAttribute( 'from' );
67 $self->{msg_node}->setAttribute( type => shift );
72 $self->{msg_node}->setAttribute( to => shift );
77 $self->{msg_node}->appendTextChild( thread => shift );
83 $self->{msg_node}->appendTextChild( body => $body );
86 sub set_router_command {
87 my( $self, $router_command ) = @_;
88 if( $router_command ) {
89 $self->{msg_node}->setAttribute( router_command => $router_command );
92 sub set_router_class {
93 my( $self, $router_class ) = @_;
95 $self->{msg_node}->setAttribute( router_class => $router_class );