File: Example.pm

package info (click to toggle)
ocsinventory-agent 2%3A2.0.5-1.2
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 4,120 kB
  • ctags: 899
  • sloc: perl: 20,687; sh: 576; objc: 468; ansic: 333; makefile: 55
file content (94 lines) | stat: -rw-r--r-- 2,647 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
###############################################################################
## OCSINVENTORY-NG
## Copyleft Guillaume PROTET 2010
## Web : http://www.ocsinventory-ng.org
##
## This code is open source and may be copied and modified as long as the source
## code is always made freely available.
## Please refer to the General Public Licence http://www.gnu.org/ or Licence.txt
################################################################################

package Ocsinventory::Agent::Modules::Example;


sub new {
   my $name="example";   #Set the name of your module here

   my (undef,$context) = @_;
   my $self = {};

   #Create a special logger for the module
   $self->{logger} = new Ocsinventory::Logger ({
            config => $context->{config}
   });

   $self->{logger}->{header}="[$name]";

   $self->{context}=$context;

   $self->{structure}= {
			name => $name,
			start_handler => $name."_start_handler",    #or undef if don't use this hook 
			prolog_writer => $name."_prolog_writer",    #or undef if don't use this hook  
			prolog_reader => $name."_prolog_reader",    #or undef if don't use this hook  
			inventory_handler => $name."_inventory_handler",    #or undef if don't use this hook 
			end_handler => $name."_end_handler"    #or undef if don't use this hook 
   };
 
   bless $self;
}



######### Hook methods ############

sub example_start_handler { 	#Use this hook to test prerequisites needed by module and disble it if needed
   my $self = shift;
   my $logger = $self->{logger};
   
   $logger->debug("Yeah you are in example_start_handler :)");
   my $prerequisites = 1 ;

   if ( $prerequisites == 0 ) { 
   	$self->{disabled} = 1; #Use this to disable the module
   	$logger->debug("Humm my prerequisites are not OK...disabling module :( :( ");
   }
}


sub example_prolog_writer {	#Use this hook to add information the prolog XML
   my $self = shift;
   my $logger = $self->{logger};
   
   $logger->debug("Yeah you are in example_prolog_writer :)");

}


sub example_prolog_reader {	#Use this hook to read the answer from OCS server
   my $self = shift;
   my $logger = $self->{logger};
   
   $logger->debug("Yeah you are in example_prolog_reader :)");

}


sub example_inventory_handler {		#Use this hook to add or modify entries in the inventory XML
   my $self = shift;
   my $logger = $self->{logger};
   
   $logger->debug("Yeah you are in example_inventory_handler :)");

}


sub example_end_handler {		#Use this hook to add treatments before the end of agent launch
   my $self = shift;
   my $logger = $self->{logger};
   
   $logger->debug("Yeah you are in example_end_handler :)");

}

1;