Update ooo320-m1
[ooovba.git] / testautomation / framework / tools / includes / private_environment.inc
bloba21a19c77f4f41bb61fa28e2d674a1941aae53d9
1 'encoding UTF-8  Do not remove or change this line!
2 '**************************************************************************
3 '* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 '* 
5 '* Copyright 2008 by Sun Microsystems, Inc.
6 '*
7 '* OpenOffice.org - a multi-platform office productivity suite
8 '*
9 '* $RCSfile: private_environment.inc,v $
11 '* $Revision: 1.2 $
13 '* last change: $Author: jsk $ $Date: 2008-06-20 08:03:54 $
15 '* This file is part of OpenOffice.org.
17 '* OpenOffice.org is free software: you can redistribute it and/or modify
18 '* it under the terms of the GNU Lesser General Public License version 3
19 '* only, as published by the Free Software Foundation.
21 '* OpenOffice.org is distributed in the hope that it will be useful,
22 '* but WITHOUT ANY WARRANTY; without even the implied warranty of
23 '* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24 '* GNU Lesser General Public License version 3 for more details
25 '* (a copy is included in the LICENSE file that accompanied this code).
27 '* You should have received a copy of the GNU Lesser General Public License
28 '* version 3 along with OpenOffice.org.  If not, see
29 '* <http://www.openoffice.org/license.html>
30 '* for a copy of the LGPLv3 License.
32 '/******************************************************************************
34 '*  owner : joerg.skottke@sun.com
36 '*  short description : Tools to ease working with private environment
38 '\******************************************************************************
40 function hGetPrivateHttpServer( _proxy as string, _port as string ) as boolean
43     '///<h3>Retrieve the name and port for a private http server</h3><br>
45     '///<u>Function parameters:</u><br>
46     '///<ol>
48     '///+<li>Fully qualified server name incl. domain (string)</li>
49     '///<ul>
50     '///+<li>The string comes without a protocol part (no http://)</li>
51     '///</ul>
53     '///+<li>Server port (string)</li>
54     '///<ul>
55     '///+<li>Please remember limits for integer data type</li>
56     '///</ul>
58     '///</ol>
61     '///<u>Returns:</u><br>
63     '///<ol>
64     '///+<li>Error condition (boolean)</li>
65     '///<ul>
66     '///+<li>&quot;TRUE&quot;: Data was retrieved successfully</li>
67     '///+<li>&quot;FALSE&quot;: Any error </li>
68     '///</ul>
69     '///</ol>
70     
71     use "global\tools\includes\optional\t_key_tools.inc"
73     const CFN = "hGetPrivateHttpServer::"
74     dim cFile as string
75     dim cDataSet( 100 ) as string
76     dim iErr as integer
78     '///<u>Description:</u>
79     '///<ul>
80     '///+<li>Get the source file</li>
81     cFile = hGetPrivateInputFile( false )
82     printlog( CFN & "Using input file: " & cFile )
83     
84     '///+<li>Retrieve the information from the datafile</li>
85     iErr = hGetDataFileSection( cFile, cDataSet(), "http_proxy", "", "" )
86     if ( iErr = 0 ) then
87         hGetPrivateHttpServer() = false
88         exit function
89     endif
90     
91     '///+<li>Extract the proxy name</li>
92     _proxy = hGetValueForKeyAsString( cDataSet(), "name" )
93     
94     '///+<li>Append the domain</li>
95     _proxy = _proxy & hGetValueForKeyAsString( cDataSet(), "domain" )
96     
97     '///+<li>Get the port</li>
98     _port = hGetValueForKeyAsString( cDataSet() , "port" )
99     
100     '///+<li>Print a log</li>
101     printlog( CFN & _proxy & ":" & _port )
102     '///</ul>
104     hGetPrivateHttpServer() = true
106 end function
108 '*******************************************************************************
110 function hGetPrivateFtpServer( _proxy as string, _port as string ) as boolean
113     '///<h3>Retrieve the name and port for a private ftp server</h3><br>
115     '///<u>Function parameters:</u><br>
116     '///<ol>
118     '///+<li>Fully qualified server name incl. domain (string)</li>
119     '///<ul>
120     '///+<li>The string comes without a protocol part (no ftp://)</li>
121     '///</ul>
123     '///+<li>Server port (string)</li>
124     '///<ul>
125     '///+<li>Please remember limits for integer data type</li>
126     '///</ul>
128     '///</ol>
131     '///<u>Returns:</u><br>
133     '///<ol>
134     '///+<li>Error condition (boolean)</li>
135     '///<ul>
136     '///+<li>&quot;TRUE&quot;: Data was retrieved successfully</li>
137     '///+<li>&quot;FALSE&quot;: Any error </li>
138     '///</ul>
139     '///</ol>
140     
141     use "global\tools\includes\optional\t_key_tools.inc"
143     const CFN = "hGetPrivateFtpServer::"
144     dim cFile as string
145     dim cDataSet( 100 ) as string
146     dim iErr as integer
148     '///<u>Description:</u>
149     '///<ul>
150     '///+<li>Get the source file</li>
151     cFile = hGetPrivateInputFile( false )
152     printlog( CFN & "Using input file: " & cFile )
153     
154     '///+<li>Retrieve the information from the datafile</li>
155     iErr = hGetDataFileSection( cFile, cDataSet(), "ftp_proxy", "", "" )
156     if ( iErr = 0 ) then
157         hGetPrivateFtpServer() = false
158         exit function
159     endif
160     
161     '///+<li>Extract the proxy name</li>
162     _proxy = hGetValueForKeyAsString( cDataSet(), "name" )
163     
164     '///+<li>Append the domain</li>
165     _proxy = _proxy & hGetValueForKeyAsString( cDataSet(), "domain" )
166     
167     '///+<li>Get the port</li>
168     _port = hGetValueForKeyAsString( cDataSet() , "port" )
169     
170     '///+<li>Print a log</li>
171     printlog( CFN & _proxy & ":" & _port )
172     '///</ul>
174     hGetPrivateFtpServer() = true
176 end function
178 '*******************************************************************************
180 function hGetPrivateSocksServer( _proxy as string, _port as string ) as boolean
183     '///<h3>Retrieve the name and port for a private socks server</h3><br>
185     '///<u>Function parameters:</u><br>
186     '///<ol>
188     '///+<li>Fully qualified server name incl. domain (string)</li>
190     '///+<li>Server port (string)</li>
191     '///<ul>
192     '///+<li>Please remember limits for integer data type</li>
193     '///</ul>
195     '///</ol>
198     '///<u>Returns:</u><br>
200     '///<ol>
201     '///+<li>Error condition (boolean)</li>
202     '///<ul>
203     '///+<li>&quot;TRUE&quot;: Data was retrieved successfully</li>
204     '///+<li>&quot;FALSE&quot;: Any error </li>
205     '///</ul>
206     '///</ol>
207     
208     use "global\tools\includes\optional\t_key_tools.inc"
210     const CFN = "hGetPrivateSocksServer::"
211     dim brc as boolean 'a multi purpose boolean returnvalue
212     dim cFile as string
213     dim cDataSet( 100 ) as string
214     dim iErr as integer
216     '///<u>Description:</u>
217     '///<ul>
218     '///+<li>Get the source file</li>
219     cFile = hGetPrivateInputFile( false )
220     
221     '///+<li>Retrieve the information from the datafile</li>
222     iErr = hGetDataFileSection( cFile, cDataSet(), "socks", "", "" )
223     if ( iErr = 0 ) then
224         hGetPrivateSocksServer() = false
225         exit function
226     endif
227     
228     '///+<li>Extract the proxy name</li>
229     _proxy = hGetValueForKeyAsString( cDataSet(), "name" )
230     
231     '///+<li>Append the domain</li>
232     _proxy = _proxy & hGetValueForKeyAsString( cDataSet(), "domain" )
233     
234     '///+<li>Get the port</li>
235     _port = hGetValueForKeyAsString( cDataSet() , "port" )
236     
237     '///+<li>Print a log</li>
238     printlog( CFN & _proxy & ":" & _port )
239     '///</ul>
241     hGetPrivateSocksServer() = true
243 end function
245 '*******************************************************************************
247 function hGetPrivateInputPath( bVerbose as boolean ) as string
250     '///<h3>Switch the private input path from ../inc/ to ../input/</h3>
251     
252     '/// This is part of the effort to allow usage of private data such as
253     '///+ servernames, paths, login names etc. within a Local Area Network (LAN).  
254     '/// If you have to maintain data of any sort that may not get out to the
255     '///+ public you will want to put your data into this directory.<br><br>
256     
257     '///<u>Input Value:</u><br>
258     '///<ol>
259     '///+<li>Toggle verbosity (boolean)</li>
260     '///<ul>
261     '///+<li>&quot;TRUE&quot;: Print path</li>
262     '///+<li>&quot;FALSE&quot;: Do not print path</li>
263     '///</ul>
264     '///</ol>
265     
266     '///<u>Return Value:</u><br>
267     '///<ol>
268     '///+<li>Path to the private input directory (string)</li>
269     '///<ul>
270     '///+<li>Function is not supposed to fail</li>
271     '///+<li>Fully qualified path to the input directory including last pathseparator</li>
272     '///</ul>
273     '///</ol>
275     const CFN = "hGetPrivateInputPath::"
276     dim cPrivateInputPath as string
278     '///<u>Description:</u>
279     '///<ul>
280     '///+<li>Get the ../inc-path from global variable (assuming path is valid)</li>
281     cPrivateInputPath = gTesttoolPath & gPrivateEnvironmentLocation
282     
283     '///+<li>Append input/ (platform specific)</li>
284     cPrivateInputPath = cPrivateInputPath & "input/"
285     cPrivateInputPath = convertpath( cPrivateInputPath )
286     
287     '///+<li>Print the resulting path to the log</li>
288     if ( bVerbose ) then 
289         printlog( CFN & "Private input directory is: " & cPrivateInputPath )
290     endif
292     hGetPrivateInputPath() = cPrivateInputPath
293     '///</ul>
295 end function
297 '*******************************************************************************
299 function hGetPrivateInputFile( bVerbose as boolean ) as string
302     '///<h3>Retrieve the fully qualified path to the datafile</h3><br>
304     '///<u>Input:</u>
305     '///<ol>
306     '///+<li>Toggle verbosity (boolean)</li>
307     '///<ul>
308     '///+<li>&quot;TRUE&quot;: Print path</li>
309     '///+<li>&quot;FALSE&quot;: Do not print path</li>
310     '///</ul>    
311     '///</ol>
314     '///<u>Returns:</u>
316     '///<ol>
317     '///+<li>Fully qualified path to the datafile (string)</li>
318     '///</ol>
320     const CFN = "hGetPrivateInputFile::"
321     dim brc as boolean 'a multi purpose boolean returnvalue
322     dim cFile as string
324     '///<u>Description:</u>
325     '///<ul>
326     '///+<li>Append pathseparator and filename to input path</li>
327     cFile = hGetPrivateInputPath( false ) & "framework_network.txt"
328     
329     '///+<li>Print path and filename to the log</li>
330     if ( bVerbose ) then
331         printlog( CFN & "Private datafile is: " & cFile )
332     endif
333     
334     '///</ul>
335     
336     hGetPrivateInputFile() = cFile
338 end function