]> git.evergreen-ils.org Git - OpenSRF.git/blob - src/perl/lib/OpenSRF/Application/Demo/Math.pm
7f4145698626b3b796c988c12ea5c54ccfa938c7
[OpenSRF.git] / src / perl / lib / OpenSRF / Application / Demo / Math.pm
1 package OpenSRF::Application::Demo::Math;
2 use base qw/OpenSRF::Application/;
3 use OpenSRF::Application;
4 use OpenSRF::Utils::Logger qw/:level/;
5 use OpenSRF::DomainObject::oilsResponse;
6 use OpenSRF::EX qw/:try/;
7 use strict;
8 use warnings;
9
10
11 sub DESTROY{}
12
13 our $log = 'OpenSRF::Utils::Logger';
14
15 sub send_request {
16         my $self = shift;
17         my $client = shift;
18
19         my $method_name = shift;
20         my @params = @_;
21
22         my $session = OpenSRF::AppSession->create( "opensrf.dbmath" );
23         my $request = $session->request( "dbmath.$method_name", @params );
24         my $response = $request->recv();
25         if(!$response) { return undef; }
26         if($response->isa("Error")) {throw $response ($response->stringify);}
27         $session->finish();
28
29         return $response->content;
30
31 }
32 __PACKAGE__->register_method( method => 'send_request', api_name => '_send_request' );
33
34 __PACKAGE__->register_method( method => 'add_1', api_name => 'add' );
35 sub add_1 {
36         my $self = shift;
37         my $client = shift;
38         my @args = @_;
39
40         my $meth = $self->method_lookup('_send_request');
41         my ($result) = $meth->run('add',@args);
42
43         return $result;
44 }
45
46 __PACKAGE__->register_method( method => 'sub_1', api_name => 'sub' );
47 sub sub_1 {
48         my $self = shift;
49         my $client = shift;
50         my @args = @_;
51
52         my $meth = $self->method_lookup('_send_request');
53         my ($result) = $meth->run('sub',@args);
54
55         return $result;
56 }
57
58 __PACKAGE__->register_method( method => 'mult_1', api_name => 'mult' );
59 sub mult_1 {
60         my $self = shift;
61         my $client = shift;
62         my @args = @_;
63
64         my $meth = $self->method_lookup('_send_request');
65         my ($result) = $meth->run('mult',@args);
66
67         return $result;
68 }
69
70 __PACKAGE__->register_method( method => 'div_1', api_name => 'div' );
71 sub div_1 {
72         my $self = shift;
73         my $client = shift;
74         my @args = @_;
75
76         my $meth = $self->method_lookup('_send_request');
77         my ($result) = $meth->run('div',@args);
78
79         return $result;
80 }
81
82
83 1;