Provided by: libjson-rpc-perl_1.03-2_all bug

NAME

       JSON::RPC::Legacy::Procedure - JSON-RPC Service attributes

SYNOPSIS

        package MyApp;

        use base ('JSON::RPC::Legacy::Procedure');

        sub sum : Public {
            my ($s, @arg) = @_;
            return $arg[0] + $arg[1];
        }

        # or

        sub sum : Public(a, b) {
            my ($s, $obj) = @_;
            return $obj->{a} + $obj->{b};
        }

        # or

        sub sum : Number(a:num, b:num) {
            my ($s, $obj) = @_;
            return $obj->{a} + $obj->{b};
        }

        # private method can't be called by clients

        sub _foobar : Private {
            # ...
        }

DESCRIPTION

       Using this module, you can write a subroutine with a special attribute.

       Currently, in below attributes, only Public and Private are available.  Others are same as
       Public.

       Public
           Means that a client can call this procedure.

       Private
           Means that a client can't call this procedure.

       Arr Means that its return values is an array object.

       Obj Means that its return values is a member object.

       Bit
       Bool
           Means that a return values is a "true" or "false".

       Num Means that its return values is a number.

       Str Means that its return values is a string.

       Nil
       None
           Means that its return values is a "null".

TODO

       Auto Service Description
       Type check

SEE ALSO

       <http://json-rpc.org/wd/JSON-RPC-1-1-WD-20060807.html>

AUTHOR

       Makamaka Hannyaharamitu, <makamaka[at]cpan.org>

COPYRIGHT AND LICENSE

       Copyright 2007 by Makamaka Hannyaharamitu

       This library is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself.