Code

new event module
[gosa.git] / gosa-si / server / events / gosaTriggered.pm
1 package gosaTriggered;
2 use Exporter;
3 @ISA = qw(Exporter);
4 my @events = (
5     "get_events", 
6     "ping",
7     "set_activated_for_installation",
8     "new_key_for_client",
9     "detect_hardware",
10     "trigger_action_localboot",
11     "trigger_action_reboot",
12     "trigger_action_halt",
13     "trigger_action_update", 
14     "trigger_action_reinstall",
15     "trigger_action_memcheck", 
16     "trigger_action_sysinfo",
17     "trigger_action_instant_update",
18     "trigger_action_rescan",
19     );
20 @EXPORT = @events;
22 use strict;
23 use warnings;
24 use GOSA::GosaSupportDaemon;
27 BEGIN {}
29 END {}
31 ### Start ######################################################################
33 #&main::read_configfile($main::cfg_file, %cfg_defaults);
35 sub get_events {
36     return \@events;
37 }
39 sub ping {
40      my ($msg, $msg_hash, $session_id) = @_ ;
41      my $source = @{$msg_hash->{source}}[0];
42      my $target = @{$msg_hash->{target}}[0];
43      my $out_hash =  &create_xml_hash("ping", $source, $target);
44      &add_content2xml_hash($out_hash, "session_id", $session_id);
45      my $out_msg = &create_xml_string($out_hash);
46     
47      return ( $out_msg );
48 }
50 sub detect_hardware {
51     my ($msg, $msg_hash) = @_ ;
52     # just forward msg to client, but dont forget to split off 'gosa_' in header
53     my $header = @{$msg_hash->{header}}[0];
54     my $source = @{$msg_hash->{source}}[0];
55     my $target = @{$msg_hash->{target}}[0];
57     my $out_hash = &create_xml_hash("detect_hardware", $source, $target);
58     my $out_msg = &create_xml_string($out_hash);
60     return ( $out_msg );
61 }
64 sub set_activated_for_installation {
65     my ($msg, $msg_hash) = @_;
67     my $header = @{$msg_hash->{header}}[0];
68     my $source = @{$msg_hash->{source}}[0];
69     my $target = @{$msg_hash->{target}}[0];
71     my $out_hash = &create_xml_hash("set_activated_for_installation", $source, $target);
72     my $out_msg = &create_xml_string($out_hash);
74     return ( $out_msg );
75 }
77 sub trigger_action_localboot {
78     my ($msg, $msg_hash) = @_;
79     $msg =~ s/<header>gosa_trigger_action_localboot<\/header>/<header>trigger_action_localboot<\/header>/;
81     return ( $msg );
82 }
84 sub trigger_action_halt {
85     my ($msg, $msg_hash) = @_;
86     $msg =~ s/<header>gosa_trigger_action_halt<\/header>/<header>trigger_action_halt<\/header>/;
87     return ( $msg );
88 }
91 sub trigger_action_reboot {
92     my ($msg, $msg_hash) = @_;
93     $msg =~ s/<header>gosa_trigger_action_reboot<\/header>/<header>trigger_action_reboot<\/header>/;
94     return ( $msg );
95 }
98 sub trigger_action_memcheck {
99     my ($msg, $msg_hash) = @_ ;
100     $msg =~ s/<header>gosa_trigger_action_memcheck<\/header>/<header>trigger_action_memcheck<\/header>/;
101     return ( $msg );
105 sub trigger_action_reinstall {
106     my ($msg, $msg_hash) = @_;
107     $msg =~ s/<header>gosa_trigger_action_reinstall<\/header>/<header>trigger_action_reinstall<\/header>/;
108     return ( $msg );
112 sub trigger_action_update {
113     my ($msg, $msg_hash) = @_;
114     $msg =~ s/<header>gosa_trigger_action_update<\/header>/<header>trigger_action_update<\/header>/;
115     return ( $msg );
119 sub trigger_action_instant_update {
120     my ($msg, $msg_hash) = @_;
121     $msg =~ s/<header>gosa_trigger_action_instant_update<\/header>/<header>trigger_action_instant_update<\/header>/;
122     return ( $msg );
126 sub trigger_action_sysinfo {
127     my ($msg, $msg_hash) = @_;
128     $msg =~ s/<header>gosa_trigger_action_sysinfo<\/header>/<header>trigger_action_sysinfo<\/header>/;
129     return ( $msg );
134 sub new_key_for_client {
135     my ($msg, $msg_hash) = @_;
136     $msg =~ s/<header>gosa_new_key_for_client<\/header>/<header>new_key<\/header>/;
137     return ( $msg );
140 sub trigger_action_rescan {
141     my ($msg, $msg_hash) = @_;
142     $msg =~ s/<header>gosa_trigger_action_rescan<\/header>/<header>trigger_action_rescan<\/header>/;
143     return ( $msg );
146 1;