File Coverage

blib/lib/Win32/Mock/Win32/Service.pm
Criterion Covered Total %
statement 23 31 74.1
branch n/a
condition n/a
subroutine 7 11 63.6
pod 0 6 0.0
total 30 48 62.5


line stmt bran cond sub pod time code
1             package # hide from PAUSE
2             Win32::Service;
3 2     2   746 use strict;
  2         4  
  2         60  
4 2     2   10 use warnings;
  2         7  
  2         72  
5 2     2   12 use Exporter ();
  2         2  
  2         139  
6              
7             use constant {
8 2         496 SERVICE_KERNEL_DRIVER => 0x00000001,
9             SERVICE_FILE_SYSTEM_DRIVER => 0x00000002,
10             SERVICE_ADAPTER => 0x00000004,
11             SERVICE_RECOGNIZER_DRIVER => 0x00000008,
12             SERVICE_WIN32_OWN_PROCESS => 0x00000010,
13             SERVICE_WIN32_SHARE_PROCESS => 0x00000020,
14             SERVICE_INTERACTIVE_PROCESS => 0x00000100,
15              
16             SERVICE_STOPPED => 0x00000001,
17             SERVICE_START_PENDING => 0x00000002,
18             SERVICE_STOP_PENDING => 0x00000003,
19             SERVICE_RUNNING => 0x00000004,
20             SERVICE_CONTINUE_PENDING => 0x00000005,
21             SERVICE_PAUSE_PENDING => 0x00000006,
22             SERVICE_PAUSED => 0x00000007,
23              
24             SERVICE_ACCEPT_STOP => 0x00000001,
25             SERVICE_ACCEPT_PAUSE_CONTINUE => 0x00000002,
26             SERVICE_ACCEPT_SHUTDOWN => 0x00000004,
27             SERVICE_ACCEPT_PARAMCHANGE => 0x00000008,
28             SERVICE_ACCEPT_NETBINDCHANGE => 0x00000010,
29             SERVICE_ACCEPT_HARDWAREPROFILECHANGE=> 0x00000020,
30             SERVICE_ACCEPT_POWEREVENT => 0x00000040,
31             SERVICE_ACCEPT_SESSIONCHANGE => 0x00000080,
32 2     2   10 };
  2         2  
33              
34             {
35 2     2   10 no strict;
  2         3  
  2         807  
36             $VERSION = '0.01';
37             @ISA = qw(Exporter);
38             @EXPORT = qw(
39             SERVICE_KERNEL_DRIVER
40             SERVICE_FILE_SYSTEM_DRIVER
41             SERVICE_ADAPTER
42             SERVICE_RECOGNIZER_DRIVER
43             SERVICE_WIN32_OWN_PROCESS
44             SERVICE_WIN32_SHARE_PROCESS
45             SERVICE_INTERACTIVE_PROCESS
46              
47             SERVICE_STOPPED
48             SERVICE_START_PENDING
49             SERVICE_STOP_PENDING
50             SERVICE_RUNNING
51             SERVICE_CONTINUE_PENDING
52             SERVICE_PAUSE_PENDING
53             SERVICE_PAUSED
54              
55             SERVICE_ACCEPT_STOP
56             SERVICE_ACCEPT_PAUSE_CONTINUE
57             SERVICE_ACCEPT_SHUTDOWN
58             SERVICE_ACCEPT_PARAMCHANGE
59             SERVICE_ACCEPT_NETBINDCHANGE
60             SERVICE_ACCEPT_HARDWAREPROFILECHANGE
61             SERVICE_ACCEPT_POWEREVENT
62             SERVICE_ACCEPT_SESSIONCHANGE
63             );
64              
65             @EXPORT_OK = qw(
66             StartService StopService PauseService ResumeService
67             GetStatus GetServices
68             );
69             }
70              
71             my %services = (
72             dummy => {
73             ServiceType => SERVICE_WIN32_OWN_PROCESS,
74             CurrentState => SERVICE_PAUSED,
75             ControlsAccepted => SERVICE_ACCEPT_PAUSE_CONTINUE,
76             Win32ExitCode => 0,
77             ServiceSpecificExitCode => 0,
78             CheckPoint => 0,
79             WaitHint => 0,
80             },
81             );
82              
83              
84             sub StartService {
85 0     0 0 0 my ($hostname, $servicename) = @_;
86 0         0 return 1
87             }
88              
89             sub StopService {
90 0     0 0 0 my ($hostname, $servicename) = @_;
91 0         0 return 1
92             }
93              
94             sub PauseService {
95 0     0 0 0 my ($hostname, $servicename) = @_;
96 0         0 return 1
97             }
98              
99             sub ResumeService {
100 0     0 0 0 my ($hostname, $servicename) = @_;
101 0         0 return 1
102             }
103              
104             sub GetStatus {
105 1     1 0 785 my ($hostname, $servicename, $status) = @_;
106 1         4 %$status = %{ $services{$servicename} };
  1         7  
107 1         4 return 1
108             }
109              
110             sub GetServices {
111 1     1 0 11 my ($hostname, $descr) = @_;
112 1         5 %$descr = map { $_ => $_ } keys %services;
  1         5  
113 1         4 return 1
114             }
115              
116              
117             1
118              
119             __END__