Update ooo320-m1
[ooovba.git] / testautomation / global / tools / includes / optional / t_proxy_info.inc
blobf87d157edc59741173e9c03866fb8b4f4a7c8183
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: t_proxy_info.inc,v $
11 '* $Revision: 1.1 $
13 '* last change: $Author: jsi $ $Date: 2008-06-13 10:27:08 $
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 retrieve auxilary environment information
38 '*******************************************************************************
39 '**
40 ' #1 hGetProxyInfo ' Retrieve the names and ports of the proxies
41 ' #0 hPrintProxyInstructions ' print instructions to the log
42 '**
43 '\******************************************************************************
45 function hGetProxyInfo( sSection as string, sItem as string ) as string
48     '///<h3>Retrieve the names and ports of the proxies</h3>
49     '///<i>This function retrieves the names and ports of the proxies used
50     '///+ in your local network. The data is taken from a textfile that is
51     '///+ not visible on OpenOffice.org (Sun security policy)<br>
52     '///+ If the file is not found a message is printed to the log that
53     '///+ gives instructions on how to create and format such a file and
54     '///+ what other steps must be taken to make this work for your local
55     '///+ network (don't panic, it's simple!).</i><br><br>
57     '///<u>Input values:</u><br>
58     '///<ol>
60     '///+<li>Section (string). Valid options:</li>
61     '///<ul>
62     '///+<li>&quot;http_proxy&quot;</li>
63     '///+<li>&quot;ftp_proxy&quot;</li>
64     '///+<li>&quot;socks_proxy&quot;</li>
65     '///+<li>&quot;no_proxy_for&quot;</li>
66     '///</ul>
67     
68     '///+<li>Item (string). Valid options:</li>
69     '///<ul>
70     '///+<li>&quot;Name&quot;</li>
71     '///+<li>&quot;Port&quot; (not for &quot;no_proxy_for&quot)</li>
72     '///</ul>    
74     '///</ol>
77     '///<u>Return Value:</u><br>
78     '///<ol>
79     '///+<li>Name or port of an item (string)</li>
80     '///<ul>
81     '///+<li>Empty String on error</li>
82     '///</ul>
83     '///</ol>
85     const CFN = "hGetProxyInfo::"
87     dim irc as integer ' some integer returnvalue
88     dim crc as string  ' some string returnvalue
89         
90     ' This is the workfile. Make sure it exists and contains valid data
91     dim cFile as string
92         cFile = gTesttoolPath & "sun_global\input\proxies.txt"
93         ' cFile = gTesttoolPath & "global\input\proxies.txt"
94         cFile = convertpath ( cFile )
95        
96     ' this is a temporary list that holds the workfile 
97     dim acList( 50 ) as string
99     '///<u>Description:</u>
100     '///<ul>
101     '///+<li>Open the file, read the section, abort on error</li>
102     irc = hGetDataFileSection( cFile, acList(), sSection , "" , "" )
103     if ( irc = 0 ) then
104         qaerrorlog( CFN & "File or section not found" )
105         hGetProxyInfo() = ""
106         hPrintProxyInstructions()
107         exit function
108     endif
109     
110     '///+<li>Isolate the key</li>
111     crc = hGetValueForKeyAsString( acList(), sItem )
112     if ( instr( crc , "Error:" ) > 0 ) then
113         qaerrorlog( CFN & "The requested item could not be found" )
114         hGetProxyInfo() = ""
115         hPrintProxyInstructions()
116         exit function
117     endif
118     
119     '///+<li>Return the requested item</li>
120     
121     '///</ul>
123     hGetProxyInfo() = crc 
125 end function
127 '*******************************************************************************
129 function hPrintProxyInstructions()
131     printlog( "" )
132     printlog( "How to configure proxy settings for your local network" )
133     printlog( "" )
134     printlog( "1. Edit the sample configuration file" )
135     printlog( "   Location: global/input/proxies.txt" )
136     printlog( "   Replace servernames and ports with valid entries" )
137     printlog( "" )
138     printlog( "2. Edit the function hGetProxyInfo" )
139     printlog( "   Make the first line with cFile = ... a comment"
140     printlog( "   Make the second line with cFile = ... active"
141     printlog( "   Save the file" )
142     printlog( "" )
143    
144 end function