/[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.2 by joko, Wed Sep 28 22:50:30 2005 UTC revision 1.5 by joko, Fri Oct 7 20:59:27 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
     Dim script_name As String, script_args As String  
27      Dim rasItem As RasEntryData      Dim rasItem As RasEntryData
28      Dim success As Boolean      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                    
40          If cmdline.hasSwitch("dial") Then      ' 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(conName) & Chr(34) & " " & Chr(34) & DetermineServerIP(conName) & 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                    
             ' dial command  
             conName = cmdline.getArgument("dial")  
             On Error Resume Next  
75              Set rasItem = RasEntries(conName)              Set rasItem = RasEntries(conName)
             If Err.Number = 0 Then  
                 success = RasConnect(rasItem.entryname, rasItem.PhonebookPath)  
             Else  
                 MsgBox "Unkown RAS-Connection """ & conName & """."  
             End If  
             On Error GoTo 0  
76                    
77          ElseIf cmdline.hasSwitch("hangup") Then              If cmdline.hasSwitch("gui") Then
78              ' hangup command                  With Form_Credentials
79              conName = cmdline.getArgument("hangup")                      .ras_connectionName = rasItem.entryname
80              success = RasDisconnect(conName)                      .ras_phoneBook = rasItem.PhonebookPath
81              'MsgBox success                      .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          End If
91        
92        ' monitor
93        ElseIf cmdline.hasSwitch("monitor") Then
94            conName = cmdline.getArgument("monitor")
95            If conName <> "" Then
96                    
97          ' run script              If cmdline.hasSwitch("up") Then
98          If cmdline.hasSwitch("script") And success = True Then                  ScriptName_Up = cmdline.getArgument("up")
99              script_name = cmdline.getArgument("script")              End If
100              If script_name <> "" Then          
101                  script_args = Chr(34) & DetermineClientIP() & Chr(34) & " " & Chr(34) & DetermineServerIP & Chr(34)              If cmdline.hasSwitch("down") Then
102                  Shell App.Path & "\" & script_name & " " & script_args, vbHide                  ScriptName_Down = cmdline.getArgument("down")
103              End If              End If
         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 89  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(ConnectionName) & Chr(34) & " " & Chr(34) & DetermineServerIP(ConnectionName) & 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.2  
changed lines
  Added in v.1.5

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