/[cvs]/joko/ToolBox/Windows/VpnDial/src/Module_Main.bas
ViewVC logotype

Diff of /joko/ToolBox/Windows/VpnDial/src/Module_Main.bas

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.5 by joko, Fri Oct 7 20:59:27 2005 UTC revision 1.6 by joko, Sat Oct 8 00:22:10 2005 UTC
# Line 15  Option Explicit Line 15  Option Explicit
15  ' http://www.activevb.de/rubriken/apikatalog/deklarationen/rasenumentries.html  ' http://www.activevb.de/rubriken/apikatalog/deklarationen/rasenumentries.html
16  ' http://www.dotnet247.com/247reference/msgs/18/93960.aspx  ' http://www.dotnet247.com/247reference/msgs/18/93960.aspx
17    
18    ' contains all ras entry objects
19  Public RasEntries As New Collection  Public RasEntries As New Collection
20    
21    ' globals to store connection name and state
22  Public ConnectionName As String  Public ConnectionName As String
23  Public ConnectionOnline As Boolean  Public ConnectionOnline As Boolean
24  Public ScriptName_Up As String, ScriptName_Down As String  
25    ' globals to store information about action to do on up|down
26    Enum ActionTypes
27        RUN_SCRIPT
28        ADD_ROUTE
29    End Enum
30    Public ActionType As ActionTypes
31    
32    Public ScriptName As String
33    Public RouteNet As String, RouteMask As String
34    
35    Const RouteMaskDefault As String = "255.255.255.0"
36    
37    
38  Sub Main()  Sub Main()
39    
# Line 94  Sub Main() Line 109  Sub Main()
109          conName = cmdline.getArgument("monitor")          conName = cmdline.getArgument("monitor")
110          If conName <> "" Then          If conName <> "" Then
111                    
112              If cmdline.hasSwitch("up") Then              ' run script
113                  ScriptName_Up = cmdline.getArgument("up")              If cmdline.hasSwitch("script") Then
114                    ActionType = RUN_SCRIPT
115                    ScriptName = cmdline.getArgument("script")
116              End If              End If
117                    
118              If cmdline.hasSwitch("down") Then              ' add a route with target network via gateway
119                  ScriptName_Down = cmdline.getArgument("down")              If cmdline.hasSwitch("net") Then
120                    ActionType = ADD_ROUTE
121                    RouteNet = cmdline.getArgument("net")
122                    If cmdline.hasSwitch("mask") Then
123                        RouteMask = cmdline.getArgument("mask")
124                    Else
125                        RouteMask = RouteMaskDefault
126                    End If
127              End If              End If
128                    
129              'Set rasItem = RasEntries(conName)              'Set rasItem = RasEntries(conName)
# Line 141  End Sub Line 165  End Sub
165    
166  ' callback from MonitorRASStatusAsync  ' callback from MonitorRASStatusAsync
167  Public Sub detectOnlineOfflineChange()  Public Sub detectOnlineOfflineChange()
168      Dim newState As Boolean      Dim isOnline As Boolean
169      Dim script_name As String, script_args As String      Dim script_name As String, script_args As String
170      Dim cmd As String      Dim cmd As String
171            
172      newState = RasIsOnline(ConnectionName)      isOnline = RasIsOnline(ConnectionName)
173            
174      If ConnectionOnline <> newState Then      If ConnectionOnline <> isOnline Then
175          'MsgBox newState          'MsgBox isOnline
           
         ' connection goes online  
         If newState = True Then  
             If ScriptName_Up <> "" Then  
                 script_name = ScriptName_Up  
             End If  
           
         ' connection goes offline  
         Else  
             If ScriptName_Down <> "" Then  
                 script_name = ScriptName_Down  
             End If  
176                    
177          End If          Select Case ActionType
178                
179                Case RUN_SCRIPT:
180                    script_name = ScriptName
181                    If script_name <> "" Then
182                        script_args = Chr(34) & DetermineClientIP(ConnectionName) & Chr(34) & " " & Chr(34) & DetermineServerIP(ConnectionName) & Chr(34)
183                        cmd = App.Path & "\" & script_name & " " & script_args
184                    End If
185                    
186                Case ADD_ROUTE:
187                    ' connection goes online
188                    If isOnline = True Then
189                        script_name = "route"
190                        script_args = "add " & RouteNet & " mask " & RouteMask & " " & DetermineClientIP(ConnectionName)
191                        cmd = script_name & " " & script_args
192                    
193                    ' connection goes offline
194                    Else
195                        ' Nothing to do in this case
196                    
197                    End If
198                
199            End Select
200                    
201          If script_name <> "" Then          If cmd <> "" Then
             script_args = Chr(34) & DetermineClientIP(ConnectionName) & Chr(34) & " " & Chr(34) & DetermineServerIP(ConnectionName) & Chr(34)  
             cmd = App.Path & "\" & script_name & " " & script_args  
202              'MsgBox cmd              'MsgBox cmd
203              On Error Resume Next              On Error Resume Next
204              Shell cmd, vbHide              Shell cmd, vbHide
205              On Error GoTo 0              On Error GoTo 0
206          End If          End If
207                    
208          ConnectionOnline = newState          ConnectionOnline = isOnline
209      End If      End If
210  End Sub  End Sub

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed