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);
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 );
102 }
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 );
109 }
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 );
116 }
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 );
123 }
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 );
130 }
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 );
138 }
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 );
144 }
146 1;