-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGenUserFriendlyAPI_h.pl
More file actions
117 lines (94 loc) · 2.71 KB
/
GenUserFriendlyAPI_h.pl
File metadata and controls
117 lines (94 loc) · 2.71 KB
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
require RecurseWork;
sub EnterDirectory()
{
my $DirName = shift @_;
my $UserData = shift @_;
if ( $DirName =~ /\.svn/ )
{
return 0;
}
return 1;
}
sub WorkOnFile()
{
my $FileName = shift @_;
my $UserData = shift @_;
my $fd;
my $CurrentLine;
my $NumLine;
if ( $FileName =~ /\/UserFriendlyAPI\.h/ || $FileName =~ /\/Config[^\/\.]+\.h/ )
{
return;
}
if ( $FileName =~ /\.h$/ )
{
if ( $UserData == 1 ) # All folder
{
$FileName =~ s/^[^\/]+\///;;
push @ListOfFiles, $FileName;
return;
}
open( $fd, "<$FileName" );
while( $CurrentLine = <$fd> )
{
if ( $CurrentLine =~ /\@ingroup\s+UserFriendly[\s\r\n]/ )
{
close( $fd );
$FileName =~ s/^[^\/]+\///;;
push @ListOfFiles, $FileName;
return;
}
}
close( $fd );
}
}
sub GenerateFile()
{
my $FileFolder = shift @_;
my $FileName = shift @_;
my $ComputedHeader;
my $fd;
my $dummy, $annee;
my $CurFile, $CurrentFolder;
my $Tmp;
$ComputedHeader = $FileName;
$ComputedHeader =~ s/([A-Z]+)/_$1/g;
$ComputedHeader =~ s/.h$/_H__/;
$ComputedHeader = '_' . $ComputedHeader;
$ComputedHeader =~ tr/a-z/A-Z/;
$FileName = "$FileFolder/$FileName";
$FileName =~ s/^\/\//\//;
$FileName =~ s/^\///;
open( $fd, ">$FileName" ) or die "$FileName";
print $fd "/* \@file $FileName\n * \@ingroup UserFriendly\n\n";
print $fd " * \@brief Files included when using user friendly API\n";
my ( $dummy, $dummy, $dummy, $dummy, $dummy, $annee, $dummy, $dummy, $dummy ) = localtime( time );
$annee += 1900;
print $fd " * \@date 2004-$annee\n * \@author Dominique Vaufreydaz\n */\n\n";
print $fd "#ifndef $ComputedHeader\n#define $ComputedHeader\n";
$CurrentFolder = '';
foreach $CurFile ( @ListOfFiles )
{
$CurFile =~ /^([^\/]+)/;
$Tmp = $1;
if ( $Tmp ne $CurrentFolder )
{
$CurrentFolder= $Tmp;
print $fd "\n// $CurrentFolder subfolder\n";
}
print $fd "#include <$CurFile>\n";
}
print $fd "\n\n#endif // $ComputedHeader\n\n\n";
close( $fd );
}
&RecurseWork::RecurseWork( 'System/System', 1 ); # 1 mean everything
&RecurseWork::RecurseWork( 'Com/Com', 0 );
&RecurseWork::RecurseWork( 'ServiceControl/ServiceControl/', 0 );
&RecurseWork::RecurseWork( 'Messaging/Messaging/', 1 );
&GenerateFile( 'ServiceControl/ServiceControl/', 'UserFriendlyAPI.h' );
@ListOfFiles =();
&RecurseWork::RecurseWork( 'System/System', 1 ); # 1 mean everything
&RecurseWork::RecurseWork( 'Com/Com', 1 );
&RecurseWork::RecurseWork( 'ServiceControl/ServiceControl/', 1 );
&RecurseWork::RecurseWork( 'Messaging/Messaging/', 1 );
&GenerateFile( '', 'Omiscid.h' );