Provided by: libcipux-rpc-client-perl_3.4.0.7-2_all bug

NAME

       CipUX::RPC::Client - XML-RPC client call library

VERSION

       This document describes CipUX::RPC::Client version 3.4.0.7

SYNOPSIS

        use warnings;
        use strict;
        use CipUX::RPC::Client;
        use version; our $VERSION = qv('3.4.0.0');

        my $rpc = CipUX::RPC::Client->new({
                      url=>'http://localhost:8001/RPC2',
                      client=>'clientname', # name of client
                      version=>'3.4.0.0', # version of client
                 });

        if ( $rpc->rpc_ping() ) { print "OK\n" }else{ exit 1; }

        if ( $rpc->rpc_login() ) { print "OK\n" }else{ exit 1; }

        # probably do some other calls

        if ( $rpc->rpc_logout() ) { print "OK\n" }else{ exit 1; }

        exit 0;

DESCRIPTION

SUBROUTINES/METHODS

   BUILD
       Constructor (Not used at the moment)

   DEMOLISH
       Destructor

   get_login
       Retrieve the login (uid) of the rpc client object.

         $login = $rpc->get_login();

   rpc_selfpasswd
       Set own password.

         1|0 = $rpc->rpc_login( { password=>$password } );

   rpc_ping
       Test if the server is up.

         1|0 = $rpc->rpc_ping();

   rpc_login
       Perform a log in.

         1|0 = $rpc->rpc_login();

   rpc_logout
       Perform a log out.

         1|0 = $rpc->rpc_logout();

   rpc_ttl
       Returns the TTL via rpc_intern.

         $ttl = $rpc->rpc_ttl();

   rpc_session
       Returns a ticket or 0;

         my $ticket = $rpc->rpc_session();

   rpc_cat_module_cache_size
       Returns the cache size via rpc_intern.

         $integer = $rpc->rpc_cat_module_cache_size();

   rpc_rpc_intern_cache_size
       Returns the cache size via rpc_intern.

         $integer = $rpc->rpc_rpc_intern_cache_size();

   rpc_task_cache_size
       Returns the cache size via rpc_intern.

         $integer = $rpc->rpc_task_cache_size();

   rpc_flush
       Flush the cache via rpc_intern.

         0|1 = $rpc->rpc_flush();

   rpc_check_access
       Aggregate several check access subcommands.

         ( $from, $r_hr ) = $rpc->rpc_check_access({
            rpcmode    => rpc_intern|rpc_info,
            entity     => task   | rpc_intern | cat_module
            scope      => single | manifold,
            subcommand => user_task_access
                          | user_task_access_survey
                          | user_cat_module_access
                          | user_cat_module_access_survey
                          | user_rpc_intern_access
                          | user_rpc_intern_access_survey

            param_ar   => (rest send as to_ar)
         });

   rpcev
       Helper routine to evaluate calls.

            $ok   = $rpc->rpcev( 'ping',  \&{ $rpc->rpc_ping } );
            $ok   = $rpc->rpcev( 'login', \&{ $rpc->rpc_login } );
            $code = sub { return $rpc->xmlrpc(@_); }; # remains the same
            $a_hr = $rpc->rpcev 'list', $code, {cmd => 'cipux_task_list_student_accounts'} );
            $d_ar = $rpc->extract_data_for_tpl( {answer_hr => $a_hr, use_ltarget=>1} );
            print "Students on the system:\n";
            foreach my $l (@{$d_ar->{tpl_data_ar}}){ print "\t$l->{$d_ar->{ltarget}}\n";}
            $ok   = $rpc->rpcev( 'logout',\&{ $rpc->rpc_logout }, );

   xmlrpc
       Helper subroutine to executing XML-RPC calls.

         ($answer_hr, $ticket) = $rpc->xmlrpc({
               cmd    => 'cipux_task_*|rpc_intern|...',  # mandatory
               login  => $login,
               ticket => $ticket,
               param_hr => {},
         });

   extract_data_for_tpl
       Helper subroutine to extract data for using in web templates.  Encode it into UTF-8.

        $tpl_data_ar = $rpc->extract_data_for_tpl({answer_hr=>$answer_hr});

DIAGNOSTICS

       "EXCEPTION: Setting password via server %url failed!"
       "EXCEPTION: Server %url not responding"
       "EXCEPTION: Server status UNKNOWN"

CONFIGURATION AND ENVIRONMENT

       CipUX::RPC::Client requires no configuration files or environment variables.

DEPENDENCIES

               Carp
               CipUX
               Class::Std
               Data::Dumper
               English
               Frontier::Client
               Log::Log4perl
               Readonly
               version

INCOMPATIBILITIES

       None reported.

BUGS AND LIMITATIONS

       No bugs have been reported.

SEE ALSO

       See the CipUX webpage and the manual at <http://www.cipux.org>

       See           the           mailing           list          http://sympa.cipworx.org/wws/info/cipux-devel
       <http://sympa.cipworx.org/wws/info/cipux-devel>

AUTHOR

       Christian Kuelker  <christian.kuelker@cipworx.org>

LICENSE AND COPYRIGHT

       Copyright (C) 2009 by Christian Kuelker. All rights reserved.

       This program is free software; you can redistribute it and/or modify  it  under  the  terms  of  the  GNU
       General  Public  License  as  published  by  the  Free Software Foundation; either version 2, or (at your
       option) any later version.

       This program is distributed in the hope that it will be useful, but WITHOUT ANY  WARRANTY;  without  even
       the  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
       License for more details.

       You should have received a copy of the GNU General Public License along with this program; if not,  write
       to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

DISCLAIMER OF WARRANTY

       BECAUSE  THIS  SOFTWARE  IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT
       PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS  AND/OR  OTHER
       PARTIES  PROVIDE  THE  SOFTWARE  "AS  IS"  WITHOUT  WARRANTY  OF  ANY  KIND, EITHER EXPRESSED OR IMPLIED,
       INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND  FITNESS  FOR  A  PARTICULAR
       PURPOSE.  THE  ENTIRE  RISK  AS  TO  THE  QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE
       SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.

       IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER,  OR  ANY
       OTHER  PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENSE, BE LIABLE
       TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING  OUT  OF
       THE  USE  OR  INABILITY  TO  USE  THE  SOFTWARE  (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
       RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE  TO  OPERATE
       WITH  ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
       DAMAGES.

perl v5.12.3                                       2011-05-17                            CipUX::RPC::Client(3pm)