index 3a77ea982ea15141900da4853a270f05f6c61bab..4157f21535c65cb6e886acfcc268c67016d89405 100644 (file)
## @file
# @brief Implementation of a GOsa-SI event module.
# @details A GOsa-SI event module containing all functions to handle incoming messages from clients.
-# @author Andreas Rettenberger <rettenberger@gonicus.de>
-# @date 2008
-# @version 1.0
package clMessages;
use Exporter;
END {}
-### Start ######################################################################
-
-# labled for deleting: rettenbe 20080730
-#my $ldap_uri;
-#my $ldap_base;
-#my $ldap_admin_dn;
-#my $ldap_admin_password;
-#
-#my %cfg_defaults = (
-#"server" => {
-# "ldap-uri" => [\$ldap_uri, ""],
-# "ldap-base" => [\$ldap_base, ""],
-# "ldap-admin-dn" => [\$ldap_admin_dn, ""],
-# "ldap-admin-password" => [\$ldap_admin_password, ""],
-# },
-#);
-#&read_configfile($main::cfg_file, %cfg_defaults);
-#
-
## @method get_events()
# @details A brief function returning a list of functions which are exported by importing the module.
return \@events;
}
-
+## @method confirm_usr_msg()
+# @details Confirmed messages are set in the messaging_db from d (deliverd) to s(seen).
+# @param msg - STRING - xml message with tags 'message', 'subject' and 'usr'
+# @param msg_hash - HASHREF - message information parsed into a hash
+# @param session_id - INTEGER - POE session id of the processing of this message
sub confirm_usr_msg {
my ($msg, $msg_hash, $session_id) = @_;
my $message = @{$msg_hash->{'message'}}[0];
}
-
-#sub read_configfile {
-# my ($cfg_file, %cfg_defaults) = @_;
-# my $cfg;
-#
-# if( defined( $cfg_file) && ( (-s $cfg_file) > 0 )) {
-# if( -r $cfg_file ) {
-# $cfg = Config::IniFiles->new( -file => $cfg_file );
-# } else {
-# &main::daemon_log("ERROR: clMessages.pm couldn't read config file!", 1);
-# }
-# } else {
-# $cfg = Config::IniFiles->new() ;
-# }
-# foreach my $section (keys %cfg_defaults) {
-# foreach my $param (keys %{$cfg_defaults{ $section }}) {
-# my $pinfo = $cfg_defaults{ $section }{ $param };
-# ${@$pinfo[0]} = $cfg->val( $section, $param, @$pinfo[1] );
-# }
-# }
-#}
-
-
+## @method save_fai_log()
+# @details Creates under /var/log/fai/ the directory '$macaddress' and stores within all FAI log files from client.
+# @param msg - STRING - xml message with tags 'macaddress' and 'save_fai_log'
+# @param msg_hash - HASHREF - message information parsed into a hash
+# @param session_id - INTEGER - POE session id of the processing of this message
sub save_fai_log {
my ($msg, $msg_hash, $session_id) = @_;
my $header = @{$msg_hash->{'header'}}[0];
return;
}
-
+## @method LOGIN()
+# @details Reported user from client is added to login_users_db.
+# @param msg - STRING - xml message with tag 'LOGIN'
+# @param msg_hash - HASHREF - message information parsed into a hash
+# @param session_id - INTEGER - POE session id of the processing of this message
sub LOGIN {
my ($msg, $msg_hash, $session_id) = @_;
my $header = @{$msg_hash->{'header'}}[0];
}
+## @method LOGOUT()
+# @details Reported user from client is deleted from login_users_db.
+# @param msg - STRING - xml message with tag 'LOGOUT'
+# @param msg_hash - HASHREF - message information parsed into a hash
+# @param session_id - INTEGER - POE session id of the processing of this message
sub LOGOUT {
my ($msg, $msg_hash, $session_id) = @_;
my $header = @{$msg_hash->{'header'}}[0];
}
+## @method CURRENTLY_LOGGED_IN()
+# @details Reported users from client are updated in login_users_db. Users which are no longer logged in are deleted from DB.
+# @param msg - STRING - xml message
+# @param msg_hash - HASHREF - message information parsed into a hash
+# @param session_id - INTEGER - POE session id of the processing of this message
sub CURRENTLY_LOGGED_IN {
my ($msg, $msg_hash, $session_id) = @_;
my ($sql_statement, $db_res);
}
+## @method GOTOACTIVATION()
+# @details Client is set at job_queue_db to status 'processing' and 'modified'.
+# @param msg - STRING - xml message with tag 'macaddress'
+# @param msg_hash - HASHREF - message information parsed into a hash
+# @param session_id - INTEGER - POE session id of the processing of this message
sub GOTOACTIVATION {
my ($msg, $msg_hash, $session_id) = @_;
my $header = @{$msg_hash->{'header'}}[0];
}
+## @method PROGRESS()
+# @details Message reports installation progress of the client. Installation job at job_queue_db is going to be updated.
+# @param msg - STRING - xml message with tags 'macaddress' and 'PROGRESS'
+# @param msg_hash - HASHREF - message information parsed into a hash
+# @param session_id - INTEGER - POE session id of the processing of this message
sub PROGRESS {
my ($msg, $msg_hash, $session_id) = @_;
my $header = @{$msg_hash->{'header'}}[0];
}
+## @method FAIREBOOT()
+# @details Message reports a FAI reboot. Job at job_queue_db is going to be updated.
+# @param msg - STRING - xml message with tag 'macaddress' and 'FAIREBOOT'
+# @param msg_hash - HASHREF - message information parsed into a hash
+# @param session_id - INTEGER - POE session id of the processing of this message
sub FAIREBOOT {
my ($msg, $msg_hash, $session_id) = @_;
my $header = @{$msg_hash->{'header'}}[0];
}
+## @method TASKSKIP()
+# @details Message reports a skipped FAI task. Job at job_queue_db is going to be updated.
+# @param msg - STRING - xml message with tag 'macaddress'.
+# @param msg_hash - HASHREF - message information parsed into a hash
+# @param session_id - INTEGER - POE session id of the processing of this message
sub TASKSKIP {
my ($msg, $msg_hash, $session_id) = @_;
my $header = @{$msg_hash->{'header'}}[0];
}
+## @method TASKBEGIN()
+# @details Message reports a starting FAI task. If the task is equal to 'finish', 'faiend' or 'savelog', job at job_queue_db is being set to status 'done' and FAI state is being set to 'localboot'. If task is equal to 'chboot', 'test' or 'confdir', just do nothing. In all other cases, job at job_queue_db is going to be updated or created if not exists.
+# @param msg - STRING - xml message with tag 'macaddress'.
+# @param msg_hash - HASHREF - message information parsed into a hash
+# @param session_id - INTEGER - POE session id of the processing of this message
sub TASKBEGIN {
my ($msg, $msg_hash, $session_id) = @_;
my $header = @{$msg_hash->{'header'}}[0];
}
+## @method TASKEND()
+# @details Message reports a finished FAI task. If task is equal to 'savelog', job at job_queue_db is going to be set to status 'done'. Otherwise, job is going to be updated.
+# @param msg - STRING - xml message with tag 'macaddress'.
+# @param msg_hash - HASHREF - message information parsed into a hash
+# @param session_id - INTEGER - POE session id of the processing of this message
sub TASKEND {
my ($msg, $msg_hash, $session_id) = @_;
my $header = @{$msg_hash->{'header'}}[0];
}
+## @method TASKERROR()
+# @details Message reports a FAI error. Job at job_queue_db is going to be updated.
+# @param msg - STRING - xml message with tag 'macaddress' and 'TASKERROR'
+# @param msg_hash - HASHREF - message information parsed into a hash
+# @param session_id - INTEGER - POE session id of the processing of this message
sub TASKERROR {
my ($msg, $msg_hash, $session_id) = @_;
my $header = @{$msg_hash->{'header'}}[0];
}
+## @method HOOK()
+# @details Message reports a FAI hook. Job at job_queue_db is going to be updated.
+# @param msg - STRING - xml message with tag 'macaddress' and 'HOOK'
+# @param msg_hash - HASHREF - message information parsed into a hash
+# @param session_id - INTEGER - POE session id of the processing of this message
sub HOOK {
my ($msg, $msg_hash, $session_id) = @_;
my $header = @{$msg_hash->{'header'}}[0];