Subversion Repositories gelsvn

Rev

Rev 107 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 107 Rev 119
1
package MPC;
1
package MPC;
2
 
2
 
3
# ******************************************************************
3
# ******************************************************************
4
# Description : Instantiate a Driver and run it
4
# Description : Instantiate a Driver and run it
5
# Author      : Chad Elliott
5
# Author      : Chad Elliott
6
# Create Date : 1/30/2004
6
# Create Date : 1/30/2004
7
# ******************************************************************
7
# ******************************************************************
8
 
8
 
9
# ******************************************************************
9
# ******************************************************************
10
# Pragma Section
10
# Pragma Section
11
# ******************************************************************
11
# ******************************************************************
12
 
12
 
13
use strict;
13
use strict;
14
use Driver;
14
use Driver;
15
 
15
 
16
# ************************************************************
16
# ************************************************************
17
# Subroutine Section
17
# Subroutine Section
18
# ************************************************************
18
# ************************************************************
19
 
19
 
20
sub new {
20
sub new {
21
  my($class) = shift;
21
  my($class) = shift;
22
  my($self)  = bless {'creators' => [ 'MakeProjectCreator',
22
  my($self)  = bless {'creators' => [ 'MakeProjectCreator',
23
                                      'NMakeProjectCreator',
23
                                      'NMakeProjectCreator',
24
                                      'VC6ProjectCreator',
24
                                      'VC6ProjectCreator',
25
                                      'VC7ProjectCreator',
25
                                      'VC7ProjectCreator',
26
                                      'VC71ProjectCreator',
26
                                      'VC71ProjectCreator',
27
                                      'VC8ProjectCreator',
27
                                      'VC8ProjectCreator',
28
                                      'CBXProjectCreator',
28
                                      'CBXProjectCreator',
29
                                      'GHSProjectCreator',
29
                                      'GHSProjectCreator',
30
                                      'EM3ProjectCreator',
30
                                      'EM3ProjectCreator',
31
                                      'AutomakeProjectCreator',
31
                                      'AutomakeProjectCreator',
32
                                      'BMakeProjectCreator',
32
                                      'BMakeProjectCreator',
33
                                      'HTMLProjectCreator',
33
                                      'HTMLProjectCreator',
34
                                      'SLEProjectCreator',
34
                                      'SLEProjectCreator',
35
                                    ],
35
                                    ],
36
                     }, $class;
36
                     }, $class;
37
  return $self;
37
  return $self;
38
}
38
}
39
 
39
 
40
 
40
 
41
sub getCreatorList {
41
sub getCreatorList {
42
  my($self) = shift;
42
  my($self) = shift;
43
  return $self->{'creators'};
43
  return $self->{'creators'};
44
}
44
}
45
 
45
 
46
 
46
 
47
sub execute {
47
sub execute {
48
  my($self)   = shift;
48
  my($self)   = shift;
49
  my($base)   = shift;
49
  my($base)   = shift;
50
  my($name)   = shift;
50
  my($name)   = shift;
51
  my($args)   = shift;
51
  my($args)   = shift;
52
  my($driver) = new Driver($base, $name, @{$self->{'creators'}});
52
  my($driver) = new Driver($base, $name, @{$self->{'creators'}});
53
  return $driver->run(@$args);
53
  return $driver->run(@$args);
54
}
54
}
55
 
55
 
56
 
56
 
57
1;
57
1;
58
 
58