/[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.1 by joko, Wed Sep 28 20:36:46 2005 UTC revision 1.4 by joko, Fri Oct 7 20:25:24 2005 UTC
# Line 16  Option Explicit Line 16  Option Explicit
16  ' http://www.dotnet247.com/247reference/msgs/18/93960.aspx  ' http://www.dotnet247.com/247reference/msgs/18/93960.aspx
17    
18  Public RasEntries As New Collection  Public RasEntries As New Collection
19    Public ConnectionName As String
20    Public ConnectionOnline As Boolean
21    Public ScriptName_Up As String, ScriptName_Down As String
22    
23  Sub Main()  Sub Main()
24    
25      Dim cmdline As New CommandLine      Dim cmdline As New CommandLine
26      Dim conName As String      Dim conName As String
27        Dim rasItem As RasEntryData
28        Dim success As Boolean
29        
30        Dim script_name As String, script_args As String
31        Dim setup_user As String, setup_pass As String
32    
33      ReadRasEntries      ReadRasEntries
34      cmdline.parse      cmdline.parse
35            
36      If cmdline.hasSwitch("gui") Then      'If cmdline.hasSwitch("gui") Then
37          Form_Main.Show      '    Form_Main.Show
38      Else      'Else
39          conName = cmdline.getArgument(conName)          
40          MsgBox conName      ' dial command
41        If cmdline.hasSwitch("dial") Then
42        
43            conName = cmdline.getArgument("dial")
44            On Error Resume Next
45            Set rasItem = RasEntries(conName)
46            If Err.Number = 0 Then
47                success = RasConnect(rasItem.entryname, rasItem.PhonebookPath)
48            Else
49                MsgBox "Unkown RAS-Connection """ & conName & """."
50            End If
51            On Error GoTo 0
52        
53        ' hangup command
54        ElseIf cmdline.hasSwitch("hangup") Then
55            conName = cmdline.getArgument("hangup")
56            success = RasDisconnect(conName)
57            'MsgBox success
58        
59        'End If
60        
61        ' run script
62        ElseIf cmdline.hasSwitch("script") And success = True Then
63            script_name = cmdline.getArgument("script")
64            If script_name <> "" Then
65                script_args = Chr(34) & DetermineClientIP() & Chr(34) & " " & Chr(34) & DetermineServerIP & Chr(34)
66                Shell App.Path & "\" & script_name & " " & script_args, vbHide
67            End If
68        'End If
69        
70        ' setup
71        ElseIf cmdline.hasSwitch("setup") Then
72            conName = cmdline.getArgument("setup")
73            If conName <> "" Then
74            
75                Set rasItem = RasEntries(conName)
76            
77                If cmdline.hasSwitch("gui") Then
78                    With Form_Credentials
79                        .ras_connectionName = rasItem.entryname
80                        .ras_phoneBook = rasItem.PhonebookPath
81                        .Show
82                    End With
83            
84                ElseIf cmdline.hasSwitch("user") And cmdline.hasSwitch("pass") Then
85                    setup_user = cmdline.getArgument("user")
86                    setup_pass = cmdline.getArgument("pass")
87                    SetupRasEntry rasItem.entryname, rasItem.PhonebookPath, setup_user, setup_pass
88                End If
89            
90            End If
91        
92        ' monitor
93        ElseIf cmdline.hasSwitch("monitor") Then
94            conName = cmdline.getArgument("monitor")
95            If conName <> "" Then
96            
97                If cmdline.hasSwitch("up") Then
98                    ScriptName_Up = cmdline.getArgument("up")
99                End If
100            
101                If cmdline.hasSwitch("down") Then
102                    ScriptName_Down = cmdline.getArgument("down")
103                End If
104            
105                'Set rasItem = RasEntries(conName)
106                'RasRetrieveConnectionHandler conName
107                ConnectionName = conName
108                ConnectionOnline = RasIsOnline(conName)
109                MonitorRASStatusAsync
110            End If
111    
112      End If      End If
113            
114        'End If
115            
116  End Sub  End Sub
117    
# Line 57  Private Sub ReadRasEntries() Line 138  Private Sub ReadRasEntries()
138      Next i      Next i
139    
140  End Sub  End Sub
141    
142    ' callback from MonitorRASStatusAsync
143    Public Sub detectOnlineOfflineChange()
144        Dim newState As Boolean
145        Dim script_name As String, script_args As String
146        Dim cmd As String
147        
148        newState = RasIsOnline(ConnectionName)
149        
150        If ConnectionOnline <> newState Then
151            'MsgBox newState
152            
153            ' connection goes online
154            If newState = True Then
155                If ScriptName_Up <> "" Then
156                    script_name = ScriptName_Up
157                End If
158            
159            ' connection goes offline
160            Else
161                If ScriptName_Down <> "" Then
162                    script_name = ScriptName_Down
163                End If
164            
165            End If
166            
167            If script_name <> "" Then
168                script_args = Chr(34) & DetermineClientIP() & Chr(34) & " " & Chr(34) & DetermineServerIP() & Chr(34)
169                cmd = App.Path & "\" & script_name & " " & script_args
170                'MsgBox cmd
171                On Error Resume Next
172                Shell cmd, vbHide
173                On Error GoTo 0
174            End If
175            
176            ConnectionOnline = newState
177        End If
178    End Sub

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.4

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