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