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

\s-1BUILD\s0

Constructor (Not used at the moment)

\s-1DEMOLISH\s0

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 \s-1TTL\s0 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 \s-1UTF-8\s0.

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

DIAGNOSTICS

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.

RELATED TO CipUX::RPC::Client…

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 <[email protected]>

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 \s-1GNU\s0 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 \s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty of \s-1MERCHANTABILITY\s0 or \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0. See the \s-1GNU\s0 General Public License for more details.

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

DISCLAIMER OF WARRANTY

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

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