diff --git a/checkin_notes b/checkin_notes
index cfc495187b..d85c11ca11 100755
--- a/checkin_notes
+++ b/checkin_notes
@@ -25841,3 +25841,25 @@ David 10 Mar 2005
lib/
boinc_cmd.C
gui_rpc_client.C
+
+Rom 11 Mar 2005
+ - Add Account Management support into the BOINC Manager.
+
+ NOTE: Some problems remain with the current design, such as
+ pointing out when a username and password combination is
+ invalid. Currently the only way for somebody to know
+ something is up is by looking into the messages tab, but
+ by then the username and password have been recorded in
+ the acct_mgr_login.xml file because there is no way for
+ the manager to know something is wrong.
+
+ clientgui/
+ BOINCGUI.pjd
+ DlgAccountManager.cpp, .h (added)
+ Events.h
+ MainDocument.cpp, .h
+ MainFrame.cpp, .h
+ lib/
+ acct_mgr_client.C, .h (added)
+ gui_rpc_client.C, .h
+
diff --git a/clientgui/BOINCGUI.pjd b/clientgui/BOINCGUI.pjd
index 7da402aa51..3fbf18f678 100644
--- a/clientgui/BOINCGUI.pjd
+++ b/clientgui/BOINCGUI.pjd
@@ -7,12 +7,12 @@
Project File
- 2
+ 3
- 84
+ 98
TRUE
FALSE
@@ -75,35 +75,65 @@
Application
FALSE
+ <None>
+ FALSE
+
+ 14273728
+ data-document
+
+
+ 0
+ 1
+ 0
+ 0
+ 0
+
+ Configurations
+ 47458032
+ config-data-document
+
+
+ 0
+ 1
+ 0
+ 14273728
+ 0
+
+
+
+
Projects
- 12516392
+ 14273840
root-document
project
1
1
+ 0
0
0
-
+
Windows
- 12844952
+ 46610800
html-document
dialogsfolder
1
1
- 12516392
+ 0
+ 14273840
1
-
+
Options
- 12840416
+ 46614096
dialog-document
dialog
0
1
- 12844952
+ 0
+ 46610800
0
8/3/2004
wbDialogProxy
@@ -129,6 +159,7 @@
FALSE
<Any platform>
+ FALSE
TRUE
TRUE
FALSE
@@ -146,8 +177,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
FALSE
FALSE
FALSE
@@ -161,32 +190,44 @@
-1
-1
-
+ FALSE
+ FALSE
+
wxBoxSizer V
- 12882432
+ 14279248
dialog-control-document
sizer
0
1
- 12840416
+ 0
+ 46614096
0
wbBoxSizerProxy
Vertical
+ Centre
+ Centre
+ 0
+ 5
+ TRUE
+ TRUE
+ TRUE
+ TRUE
FALSE
FALSE
FALSE
<Any platform>
-
+
wxNotebook: ID_NOTEBOOK
- 12979288
+ 14309840
dialog-control-document
notebook
0
1
- 12882432
+ 0
+ 14279248
0
wbNotebookProxy
wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED|OnNotebookPageChanged
@@ -218,8 +259,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
FALSE
FALSE
@@ -238,22 +277,25 @@
FALSE
FALSE
FALSE
-
+
+
+ FALSE
+ FALSE
+
wxPanel: ID_GENERAL
- 12818224
+ 14384368
dialog-control-document
panel
0
1
- 12979288
+ 0
+ 14309840
0
wbPanelProxy
ID_GENERAL
10002
wxPanel
- General
-
wxPanel
FALSE
@@ -271,8 +313,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
FALSE
FALSE
FALSE
@@ -296,16 +336,23 @@
FALSE
FALSE
FALSE
+
+
-
+ General
+
+ FALSE
+ FALSE
+
wxBoxSizer V
- 12768752
+ 14366432
dialog-control-document
sizer
0
1
- 12818224
+ 0
+ 14384368
0
24/9/2004
wbBoxSizerProxy
@@ -323,15 +370,16 @@
FALSE
FALSE
<Any platform>
-
+
wxGridSizer
- 12830224
+ 14353072
dialog-control-document
sizer
0
1
- 12768752
+ 0
+ 14366432
0
6/1/2005
wbGridSizerProxy
@@ -352,15 +400,16 @@
FALSE
FALSE
FALSE
-
+
wxStaticText: wxID_STATIC
- 12839368
+ 14407088
dialog-control-document
statictext
0
1
- 12830224
+ 0
+ 14353072
0
6/1/2005
wbStaticTextProxy
@@ -369,11 +418,15 @@
wxStaticText
Language Selection:
+
+
FALSE
<Any platform>
+
+
FALSE
FALSE
FALSE
@@ -385,8 +438,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -403,16 +454,21 @@
FALSE
TRUE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxComboBox: ID_COMBOBOX
- 12644360
+ 14392608
dialog-control-document
combobox
0
1
- 12830224
+ 0
+ 14353072
0
6/1/2005
wbComboBoxProxy
@@ -436,8 +492,6 @@
TRUE
TRUE
FALSE
- FALSE
- FALSE
-1
-1
@@ -454,26 +508,29 @@
FALSE
FALSE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxPanel: ID_HTTPPROXY
- 12768168
+ 14432912
dialog-control-document
panel
0
1
- 12979288
+ 0
+ 14309840
0
wbPanelProxy
ID_HTTPPROXY
10003
wxPanel
- HTTP Proxy
-
wxPanel
FALSE
@@ -491,8 +548,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
FALSE
FALSE
FALSE
@@ -516,16 +571,23 @@
FALSE
FALSE
FALSE
+
+
-
+ HTTP Proxy
+
+ FALSE
+ FALSE
+
wxBoxSizer V
- 12974208
+ 14409504
dialog-control-document
sizer
0
1
- 12768168
+ 0
+ 14432912
0
wbBoxSizerProxy
Vertical
@@ -542,15 +604,16 @@
FALSE
FALSE
<Any platform>
-
+
wxCheckBox: ID_ENABLEHTTPPROXYCTRL
- 12689104
+ 14573088
dialog-control-document
checkbox
0
1
- 12974208
+ 0
+ 14409504
0
wbCheckBoxProxy
wxEVT_COMMAND_CHECKBOX_CLICKED|OnEnablehttpproxyctrlClick
@@ -571,8 +634,6 @@
FALSE
<Any platform>
FALSE
- FALSE
- FALSE
-1
-1
@@ -589,16 +650,21 @@
FALSE
FALSE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxStaticBoxSizer V
- 12658576
+ 14574688
dialog-control-document
sizer
0
1
- 12974208
+ 0
+ 14409504
0
wbStaticBoxSizerProxy
wxID_ANY
@@ -619,15 +685,16 @@
FALSE
FALSE
<Any platform>
-
+
wxGridSizer
- 12773520
+ 14647072
dialog-control-document
sizer
0
1
- 12658576
+ 0
+ 14574688
0
wbGridSizerProxy
1
@@ -647,15 +714,16 @@
FALSE
FALSE
FALSE
-
+
wxFlexGridSizer
- 12813584
+ 14636768
dialog-control-document
sizer
0
1
- 12773520
+ 0
+ 14647072
0
wbFlexGridSizerProxy
@@ -677,15 +745,16 @@
FALSE
FALSE
FALSE
-
+
wxStaticText: wxID_STATIC
- 12806488
+ 14628864
dialog-control-document
statictext
0
1
- 12813584
+ 0
+ 14636768
0
wbStaticTextProxy
wxID_STATIC
@@ -693,11 +762,15 @@
wxStaticText
Address:
+
+
FALSE
<Any platform>
+
+
FALSE
FALSE
FALSE
@@ -709,8 +782,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -727,16 +798,21 @@
FALSE
TRUE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxTextCtrl: ID_HTTPADDRESSCTRL
- 12634984
+ 14654800
dialog-control-document
textctrl
0
1
- 12813584
+ 0
+ 14636768
0
wbTextCtrlProxy
ID_HTTPADDRESSCTRL
@@ -775,8 +851,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -793,16 +867,21 @@
FALSE
FALSE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxStaticText: wxID_STATIC
- 12706240
+ 46643552
dialog-control-document
statictext
0
1
- 12813584
+ 0
+ 14636768
0
wbStaticTextProxy
wxID_STATIC
@@ -810,11 +889,15 @@
wxStaticText
Port:
+
+
FALSE
<Any platform>
+
+
FALSE
FALSE
FALSE
@@ -826,8 +909,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -844,16 +925,21 @@
FALSE
TRUE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxTextCtrl: ID_HTTPPORTCTRL
- 12642048
+ 14659360
dialog-control-document
textctrl
0
1
- 12813584
+ 0
+ 14636768
0
wbTextCtrlProxy
ID_HTTPPORTCTRL
@@ -892,8 +978,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -910,18 +994,23 @@
FALSE
FALSE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxStaticBoxSizer V
- 12772656
+ 14343056
dialog-control-document
sizer
0
1
- 12658576
+ 0
+ 14574688
0
wbStaticBoxSizerProxy
wxID_ANY
@@ -942,15 +1031,16 @@
FALSE
FALSE
<Any platform>
-
+
wxFlexGridSizer
- 12741856
+ 14348816
dialog-control-document
sizer
0
1
- 12772656
+ 0
+ 14343056
0
wbFlexGridSizerProxy
@@ -972,15 +1062,16 @@
FALSE
FALSE
FALSE
-
+
wxStaticText: wxID_STATIC
- 12824728
+ 46663712
dialog-control-document
statictext
0
1
- 12741856
+ 0
+ 14348816
0
wbStaticTextProxy
wxID_STATIC
@@ -988,11 +1079,15 @@
wxStaticText
User Name:
+
+
FALSE
<Any platform>
+
+
FALSE
FALSE
FALSE
@@ -1004,8 +1099,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -1022,16 +1115,21 @@
FALSE
TRUE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxTextCtrl: ID_HTTPUSERNAMECTRL
- 12856752
+ 46683312
dialog-control-document
textctrl
0
1
- 12741856
+ 0
+ 14348816
0
wbTextCtrlProxy
ID_HTTPUSERNAMECTRL
@@ -1070,8 +1168,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -1088,16 +1184,21 @@
FALSE
FALSE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxStaticText: wxID_STATIC
- 12880792
+ 14470880
dialog-control-document
statictext
0
1
- 12741856
+ 0
+ 14348816
0
wbStaticTextProxy
wxID_STATIC
@@ -1105,11 +1206,15 @@
wxStaticText
Password:
+
+
FALSE
<Any platform>
+
+
FALSE
FALSE
FALSE
@@ -1121,8 +1226,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -1139,16 +1242,21 @@
FALSE
TRUE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxTextCtrl: ID_HTTPPASSWORDCTRL
- 12903848
+ 14464736
dialog-control-document
textctrl
0
1
- 12741856
+ 0
+ 14348816
0
wbTextCtrlProxy
ID_HTTPPASSWORDCTRL
@@ -1187,8 +1295,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -1205,28 +1311,31 @@
FALSE
FALSE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxPanel: ID_SOCKSPROXY
- 12836872
+ 46721872
dialog-control-document
panel
0
1
- 12979288
+ 0
+ 14309840
0
wbPanelProxy
ID_SOCKSPROXY
10006
wxPanel
- SOCKS Proxy
-
wxPanel
FALSE
@@ -1244,8 +1353,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
FALSE
FALSE
FALSE
@@ -1269,16 +1376,23 @@
FALSE
FALSE
FALSE
+
+
-
+ SOCKS Proxy
+
+ FALSE
+ FALSE
+
wxBoxSizer V
- 12934192
+ 14576336
dialog-control-document
sizer
0
1
- 12836872
+ 0
+ 46721872
0
wbBoxSizerProxy
Vertical
@@ -1295,15 +1409,16 @@
FALSE
FALSE
<Any platform>
-
+
wxCheckBox: ID_ENABLESOCKSPROXYCTRL
- 12955896
+ 46739008
dialog-control-document
checkbox
0
1
- 12934192
+ 0
+ 14576336
0
wbCheckBoxProxy
wxEVT_COMMAND_CHECKBOX_CLICKED|OnEnablesocksproxyctrlClick
@@ -1324,8 +1439,6 @@
FALSE
<Any platform>
FALSE
- FALSE
- FALSE
-1
-1
@@ -1342,16 +1455,21 @@
FALSE
FALSE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxStaticBoxSizer V
- 25839264
+ 46732320
dialog-control-document
sizer
0
1
- 12934192
+ 0
+ 14576336
0
wbStaticBoxSizerProxy
wxID_ANY
@@ -1372,15 +1490,16 @@
FALSE
FALSE
<Any platform>
-
+
wxGridSizer
- 25847928
+ 46763808
dialog-control-document
sizer
0
1
- 25839264
+ 0
+ 46732320
0
wbGridSizerProxy
1
@@ -1400,15 +1519,16 @@
FALSE
FALSE
FALSE
-
+
wxFlexGridSizer
- 25857024
+ 46769888
dialog-control-document
sizer
0
1
- 25847928
+ 0
+ 46763808
0
wbFlexGridSizerProxy
@@ -1430,15 +1550,16 @@
FALSE
FALSE
FALSE
-
+
wxStaticText: wxID_STATIC
- 25867648
+ 46782464
dialog-control-document
statictext
0
1
- 25857024
+ 0
+ 46769888
0
wbStaticTextProxy
wxID_STATIC
@@ -1446,11 +1567,15 @@
wxStaticText
Address:
+
+
FALSE
<Any platform>
+
+
FALSE
FALSE
FALSE
@@ -1462,8 +1587,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -1480,16 +1603,21 @@
FALSE
TRUE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxTextCtrl: ID_SOCKSADDRESSCTRL
- 25883864
+ 14498128
dialog-control-document
textctrl
0
1
- 25857024
+ 0
+ 46769888
0
wbTextCtrlProxy
ID_SOCKSADDRESSCTRL
@@ -1528,8 +1656,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -1546,16 +1672,21 @@
FALSE
FALSE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxStaticText: wxID_STATIC
- 25904712
+ 14493728
dialog-control-document
statictext
0
1
- 25857024
+ 0
+ 46769888
0
wbStaticTextProxy
wxID_STATIC
@@ -1563,11 +1694,15 @@
wxStaticText
Port:
+
+
FALSE
<Any platform>
+
+
FALSE
FALSE
FALSE
@@ -1579,8 +1714,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -1597,16 +1730,21 @@
FALSE
TRUE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxTextCtrl: ID_SOCKSPORTCTRL
- 25920144
+ 14539792
dialog-control-document
textctrl
0
1
- 25857024
+ 0
+ 46769888
0
wbTextCtrlProxy
ID_SOCKSPORTCTRL
@@ -1645,8 +1783,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -1663,18 +1799,23 @@
FALSE
FALSE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxStaticBoxSizer V
- 25847064
+ 14590528
dialog-control-document
sizer
0
1
- 25839264
+ 0
+ 46732320
0
wbStaticBoxSizerProxy
wxID_ANY
@@ -1695,15 +1836,16 @@
FALSE
FALSE
<Any platform>
-
+
wxFlexGridSizer
- 25947080
+ 14604464
dialog-control-document
sizer
0
1
- 25847064
+ 0
+ 14590528
0
wbFlexGridSizerProxy
@@ -1725,15 +1867,16 @@
FALSE
FALSE
FALSE
-
+
wxStaticText: wxID_STATIC
- 25956240
+ 14540352
dialog-control-document
statictext
0
1
- 25947080
+ 0
+ 14604464
0
wbStaticTextProxy
wxID_STATIC
@@ -1741,11 +1884,15 @@
wxStaticText
User Name:
+
+
FALSE
<Any platform>
+
+
FALSE
FALSE
FALSE
@@ -1757,8 +1904,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -1775,16 +1920,21 @@
FALSE
TRUE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxTextCtrl: ID_SOCKSUSERNAMECTRL
- 25972440
+ 46806864
dialog-control-document
textctrl
0
1
- 25947080
+ 0
+ 14604464
0
wbTextCtrlProxy
ID_SOCKSUSERNAMECTRL
@@ -1823,8 +1973,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -1841,16 +1989,21 @@
FALSE
FALSE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxStaticText: wxID_STATIC
- 25993328
+ 46836832
dialog-control-document
statictext
0
1
- 25947080
+ 0
+ 14604464
0
wbStaticTextProxy
wxID_STATIC
@@ -1858,11 +2011,15 @@
wxStaticText
Password:
+
+
FALSE
<Any platform>
+
+
FALSE
FALSE
FALSE
@@ -1874,8 +2031,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -1892,16 +2047,21 @@
FALSE
TRUE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxTextCtrl: ID_SOCKSPASSWORDCTRL
- 26008752
+ 46858016
dialog-control-document
textctrl
0
1
- 25947080
+ 0
+ 14604464
0
wbTextCtrlProxy
ID_SOCKSPASSWORDCTRL
@@ -1940,8 +2100,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -1958,6 +2116,10 @@
FALSE
FALSE
FALSE
+
+
+ FALSE
+ FALSE
@@ -1965,15 +2127,16 @@
-
+
wxBoxSizer H
- 12641328
+ 46872368
dialog-control-document
sizer
0
1
- 12882432
+ 0
+ 14279248
0
wbBoxSizerProxy
Horizontal
@@ -1990,15 +2153,16 @@
FALSE
FALSE
<Any platform>
-
+
wxButton: wxID_OK
- 12977928
+ 46886368
dialog-control-document
dialogcontrol
0
1
- 12641328
+ 0
+ 46872368
0
wbButtonProxy
wxID_OK
@@ -2019,9 +2183,8 @@
FALSE
FALSE
FALSE
+ FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -2038,16 +2201,21 @@
FALSE
FALSE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxButton: wxID_CANCEL
- 26040600
+ 14434880
dialog-control-document
dialogcontrol
0
1
- 12641328
+ 0
+ 46872368
0
wbButtonProxy
wxID_CANCEL
@@ -2068,9 +2236,8 @@
FALSE
FALSE
FALSE
+ FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -2087,19 +2254,24 @@
FALSE
FALSE
FALSE
+
+
+ FALSE
+ FALSE
-
+
About BOINC
- 12626984
+ 46901200
dialog-document
dialog
0
1
- 12844952
+ 0
+ 46610800
0
9/3/2004
wbDialogProxy
@@ -2125,6 +2297,7 @@
FALSE
<Any platform>
+ FALSE
TRUE
TRUE
FALSE
@@ -2142,8 +2315,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
FALSE
FALSE
FALSE
@@ -2157,15 +2328,18 @@
400
300
-
+ FALSE
+ FALSE
+
wxBoxSizer V
- 26068600
+ 46919760
dialog-control-document
sizer
0
1
- 12626984
+ 0
+ 46901200
0
wbBoxSizerProxy
Vertical
@@ -2182,15 +2356,16 @@
FALSE
FALSE
<Any platform>
-
+
wxStaticText: wxID_STATIC
- 26078168
+ 46609344
dialog-control-document
statictext
0
1
- 26068600
+ 0
+ 46919760
0
wbStaticTextProxy
wxID_STATIC
@@ -2198,11 +2373,15 @@
wxStaticText
BOINC Core Client
+
+
24, wxDEFAULT, wxNORMAL, wxBOLD
FALSE
<Any platform>
+
+
FALSE
FALSE
TRUE
@@ -2214,8 +2393,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -2232,16 +2409,21 @@
FALSE
TRUE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxBoxSizer H
- 26093440
+ 46941136
dialog-control-document
sizer
0
1
- 26068600
+ 0
+ 46919760
0
wbBoxSizerProxy
Horizontal
@@ -2258,15 +2440,16 @@
FALSE
FALSE
<Any platform>
-
+
wxBoxSizer V
- 26100096
+ 46948544
dialog-control-document
sizer
0
1
- 26093440
+ 0
+ 46941136
0
wbBoxSizerProxy
Vertical
@@ -2283,15 +2466,16 @@
FALSE
FALSE
<Any platform>
-
+
wxStaticBitmap: wxID_STATIC
- 26109408
+ 46958880
dialog-control-document
staticbitmap
0
1
- 26100096
+ 0
+ 46948544
0
wbStaticBitmapProxy
wxID_STATIC
@@ -2299,6 +2483,8 @@
wxStaticBitmap
boincsm.xpm
+
+
@@ -2311,8 +2497,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -2329,17 +2513,22 @@
FALSE
FALSE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxFlexGridSizer
- 26123272
+ 46975072
dialog-control-document
sizer
0
1
- 26093440
+ 0
+ 46941136
0
wbFlexGridSizerProxy
@@ -2361,15 +2550,16 @@
FALSE
FALSE
FALSE
-
+
wxStaticText: wxID_STATIC
- 26131760
+ 46987648
dialog-control-document
statictext
0
1
- 26123272
+ 0
+ 46975072
0
wbStaticTextProxy
wxID_STATIC
@@ -2377,11 +2567,15 @@
wxStaticText
Version:
+
+
FALSE
<Any platform>
+
+
FALSE
FALSE
FALSE
@@ -2393,8 +2587,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -2411,16 +2603,21 @@
FALSE
TRUE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxStaticText: wxID_STATIC
- 26147136
+ 47001680
dialog-control-document
statictext
0
1
- 26123272
+ 0
+ 46975072
0
wbStaticTextProxy
wxID_STATIC
@@ -2428,11 +2625,15 @@
wxStaticText
2.28
+
+
FALSE
<Any platform>
+
+
FALSE
FALSE
FALSE
@@ -2444,8 +2645,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -2462,16 +2661,21 @@
FALSE
TRUE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxStaticText: wxID_STATIC
- 26162560
+ 47003456
dialog-control-document
statictext
0
1
- 26123272
+ 0
+ 46975072
0
wbStaticTextProxy
wxID_STATIC
@@ -2479,11 +2683,15 @@
wxStaticText
Licence type:
+
+
FALSE
<Any platform>
+
+
FALSE
FALSE
FALSE
@@ -2495,8 +2703,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -2513,16 +2719,21 @@
FALSE
TRUE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxStaticText: wxID_STATIC
- 26178008
+ 47046112
dialog-control-document
statictext
0
1
- 26123272
+ 0
+ 46975072
0
wbStaticTextProxy
wxID_STATIC
@@ -2530,11 +2741,15 @@
wxStaticText
BOINC Public License
+
+
FALSE
<Any platform>
+
+
FALSE
FALSE
FALSE
@@ -2546,8 +2761,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -2564,16 +2777,21 @@
FALSE
TRUE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxStaticText: wxID_STATIC
- 26193400
+ 47066912
dialog-control-document
statictext
0
1
- 26123272
+ 0
+ 46975072
0
wbStaticTextProxy
wxID_STATIC
@@ -2581,11 +2799,15 @@
wxStaticText
Copyright:
+
+
FALSE
<Any platform>
+
+
FALSE
FALSE
FALSE
@@ -2597,8 +2819,6 @@
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -2615,16 +2835,21 @@
FALSE
TRUE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxStaticText: wxID_STATIC
- 26208792
+ 47081184
dialog-control-document
statictext
0
1
- 26123272
+ 0
+ 46975072
0
wbStaticTextProxy
wxID_STATIC
@@ -2633,11 +2858,15 @@
(C) 2004 University of California at Berkeley.
All Rights Reserved.
+
+
FALSE
<Any platform>
+
+
FALSE
FALSE
FALSE
@@ -2649,8 +2878,6 @@ All Rights Reserved.
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -2667,18 +2894,23 @@ All Rights Reserved.
FALSE
TRUE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxStaticText: wxID_STATIC
- 26077152
+ 47096288
dialog-control-document
statictext
0
1
- 26068600
+ 0
+ 46919760
0
wbStaticTextProxy
wxID_STATIC
@@ -2686,11 +2918,15 @@ All Rights Reserved.
wxStaticText
Berkeley Open Infrastructure for Network Computing
+
+
FALSE
<Any platform>
+
+
FALSE
FALSE
FALSE
@@ -2702,8 +2938,6 @@ All Rights Reserved.
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -2720,16 +2954,21 @@ All Rights Reserved.
FALSE
TRUE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxStaticText: wxID_STATIC
- 26238328
+ 47118640
dialog-control-document
statictext
0
1
- 26068600
+ 0
+ 46919760
0
wbStaticTextProxy
wxID_STATIC
@@ -2737,11 +2976,15 @@ All Rights Reserved.
wxStaticText
A software platform for distributed computing using volunteered computer resources
+
+
FALSE
<Any platform>
+
+
FALSE
FALSE
FALSE
@@ -2753,8 +2996,6 @@ All Rights Reserved.
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -2771,16 +3012,21 @@ All Rights Reserved.
FALSE
TRUE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxStaticText: wxID_STATIC
- 26252808
+ 47128864
dialog-control-document
statictext
0
1
- 26068600
+ 0
+ 46919760
0
wbStaticTextProxy
wxID_STATIC
@@ -2788,11 +3034,15 @@ All Rights Reserved.
wxStaticText
http://boinc.berkeley.edu/
+
+
FALSE
<Any platform>
+
+
FALSE
FALSE
FALSE
@@ -2804,8 +3054,6 @@ All Rights Reserved.
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -2822,16 +3070,21 @@ All Rights Reserved.
FALSE
TRUE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxStaticLine: wxID_STATIC
- 26267952
+ 47129200
dialog-control-document
staticline
0
1
- 26068600
+ 0
+ 46919760
0
wbStaticLineProxy
wxID_STATIC
@@ -2852,8 +3105,6 @@ All Rights Reserved.
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -2870,16 +3121,19 @@ All Rights Reserved.
FALSE
FALSE
FALSE
+ FALSE
+ FALSE
-
+
wxButton: wxID_OK
- 26282008
+ 47169312
dialog-control-document
dialogcontrol
0
1
- 26068600
+ 0
+ 46919760
0
wbButtonProxy
wxID_OK
@@ -2900,9 +3154,8 @@ All Rights Reserved.
FALSE
FALSE
FALSE
+ FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -2919,18 +3172,23 @@ All Rights Reserved.
FALSE
FALSE
FALSE
+
+
+ FALSE
+ FALSE
-
+
Connection
- 26008032
+ 47184976
dialog-document
dialog
0
1
- 12844952
+ 0
+ 46610800
0
9/3/2004
wbDialogProxy
@@ -2956,6 +3214,7 @@ All Rights Reserved.
FALSE
<Any platform>
+ FALSE
TRUE
TRUE
FALSE
@@ -2973,8 +3232,6 @@ All Rights Reserved.
FALSE
FALSE
FALSE
- FALSE
- FALSE
FALSE
FALSE
FALSE
@@ -2988,15 +3245,18 @@ All Rights Reserved.
400
300
-
+ FALSE
+ FALSE
+
wxBoxSizer V
- 26312760
+ 47195184
dialog-control-document
sizer
0
1
- 26008032
+ 0
+ 47184976
0
wbBoxSizerProxy
Vertical
@@ -3013,15 +3273,16 @@ All Rights Reserved.
FALSE
FALSE
<Any platform>
-
+
wxBoxSizer H
- 26320792
+ 47202560
dialog-control-document
sizer
0
1
- 26312760
+ 0
+ 47195184
0
wbBoxSizerProxy
Horizontal
@@ -3038,93 +3299,16 @@ All Rights Reserved.
FALSE
FALSE
<Any platform>
-
- wxBoxSizer V
- 26328776
- dialog-control-document
-
- sizer
- 0
- 1
- 26320792
- 0
- wbBoxSizerProxy
- Vertical
-
- Centre
- Top
- 0
- 5
- TRUE
- TRUE
- TRUE
- TRUE
- FALSE
- FALSE
- FALSE
- <Any platform>
-
- wxStaticText: wxID_STATIC
- 26338328
- dialog-control-document
-
- statictext
- 0
- 1
- 26328776
- 0
- wbStaticTextProxy
- wxID_STATIC
- 5105
- wxStaticText
-
- BOINC needs to connect to the network.
-May it do so now?
-
-
-
- FALSE
- <Any platform>
- FALSE
- FALSE
- FALSE
- FALSE
- FALSE
- FALSE
- FALSE
- FALSE
- FALSE
- FALSE
- FALSE
- FALSE
- FALSE
-
- -1
- -1
- -1
- -1
- Left
- Centre
- 0
- 5
- TRUE
- TRUE
- TRUE
- TRUE
- FALSE
- TRUE
- FALSE
-
-
wxBoxSizer V
- 26353632
+ 47218112
dialog-control-document
sizer
0
1
- 26320792
+ 0
+ 47202560
0
wbBoxSizerProxy
Vertical
@@ -3142,14 +3326,101 @@ May it do so now?
FALSE
<Any platform>
+ wxStaticText: wxID_STATIC
+ 47223632
+ dialog-control-document
+
+ statictext
+ 0
+ 1
+ 0
+ 47218112
+ 0
+ wbStaticTextProxy
+ wxID_STATIC
+ 5105
+ wxStaticText
+
+ BOINC needs to connect to the network.
+May it do so now?
+
+
+
+
+
+ FALSE
+ <Any platform>
+
+
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+
+ -1
+ -1
+ -1
+ -1
+ Left
+ Centre
+ 0
+ 5
+ TRUE
+ TRUE
+ TRUE
+ TRUE
+ FALSE
+ TRUE
+ FALSE
+
+
+ FALSE
+ FALSE
+
+
+
+ wxBoxSizer V
+ 47225584
+ dialog-control-document
+
+ sizer
+ 0
+ 1
+ 0
+ 47202560
+ 0
+ wbBoxSizerProxy
+ Vertical
+
+ Centre
+ Top
+ 0
+ 5
+ TRUE
+ TRUE
+ TRUE
+ TRUE
+ FALSE
+ FALSE
+ FALSE
+ <Any platform>
+
wxButton: wxID_OK
- 26360400
+ 47211040
dialog-control-document
dialogcontrol
0
1
- 26353632
+ 0
+ 47225584
0
wbButtonProxy
wxID_OK
@@ -3170,9 +3441,8 @@ May it do so now?
FALSE
FALSE
FALSE
+ FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -3189,16 +3459,21 @@ May it do so now?
FALSE
FALSE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxButton: wxID_CANCEL
- 26374672
+ 47269232
dialog-control-document
dialogcontrol
0
1
- 26353632
+ 0
+ 47225584
0
wbButtonProxy
wxID_CANCEL
@@ -3219,9 +3494,8 @@ May it do so now?
FALSE
FALSE
FALSE
+ FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -3238,20 +3512,25 @@ May it do so now?
FALSE
FALSE
FALSE
+
+
+ FALSE
+ FALSE
-
+
Attach to Project
- 26099808
+ 47269872
dialog-document
dialog
0
1
- 12844952
+ 0
+ 46610800
0
9/3/2004
wbDialogProxy
@@ -3277,6 +3556,7 @@ May it do so now?
FALSE
<Any platform>
+ FALSE
TRUE
TRUE
FALSE
@@ -3294,8 +3574,6 @@ May it do so now?
FALSE
FALSE
FALSE
- FALSE
- FALSE
FALSE
FALSE
FALSE
@@ -3309,40 +3587,34 @@ May it do so now?
400
300
-
+
wxBoxSizer V
- 26403976
+ 47299088
dialog-control-document
sizer
0
1
- 26099808
+ 0
+ 47269872
0
wbBoxSizerProxy
Vertical
- Centre
- Centre
- 0
- 5
- TRUE
- TRUE
- TRUE
- TRUE
FALSE
FALSE
FALSE
<Any platform>
-
+
wxBoxSizer H
- 26411120
+ 47306432
dialog-control-document
sizer
0
1
- 26403976
+ 0
+ 47299088
0
wbBoxSizerProxy
Horizontal
@@ -3359,15 +3631,16 @@ May it do so now?
FALSE
FALSE
<Any platform>
-
+
wxFlexGridSizer
- 26419552
+ 47313424
dialog-control-document
sizer
0
1
- 26411120
+ 0
+ 47306432
0
wbFlexGridSizerProxy
@@ -3389,15 +3662,16 @@ May it do so now?
FALSE
FALSE
FALSE
-
+
wxStaticText: wxID_STATIC
- 26430048
+ 47326096
dialog-control-document
statictext
0
1
- 26419552
+ 0
+ 47313424
0
wbStaticTextProxy
wxID_STATIC
@@ -3405,11 +3679,15 @@ May it do so now?
wxStaticText
URL:
+
+
FALSE
<Any platform>
+
+
FALSE
FALSE
FALSE
@@ -3421,8 +3699,6 @@ May it do so now?
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -3439,16 +3715,21 @@ May it do so now?
FALSE
TRUE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxTextCtrl: ID_PROJECTADDRESS
- 26446248
+ 47347472
dialog-control-document
textctrl
0
1
- 26419552
+ 0
+ 47313424
0
wbTextCtrlProxy
ID_PROJECTADDRESS
@@ -3487,8 +3768,6 @@ May it do so now?
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -3505,16 +3784,21 @@ May it do so now?
FALSE
FALSE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxStaticText: wxID_STATIC
- 26467056
+ 47378208
dialog-control-document
statictext
0
1
- 26419552
+ 0
+ 47313424
0
wbStaticTextProxy
wxID_STATIC
@@ -3522,11 +3806,15 @@ May it do so now?
wxStaticText
Account Key:
+
+
FALSE
<Any platform>
+
+
FALSE
FALSE
FALSE
@@ -3538,8 +3826,6 @@ May it do so now?
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -3556,16 +3842,21 @@ May it do so now?
FALSE
TRUE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxTextCtrl: ID_PROJECTACCOUNTKEY
- 26482488
+ 47391392
dialog-control-document
textctrl
0
1
- 26419552
+ 0
+ 47313424
0
wbTextCtrlProxy
ID_PROJECTACCOUNTKEY
@@ -3604,8 +3895,6 @@ May it do so now?
FALSE
FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -3622,17 +3911,22 @@ May it do so now?
FALSE
FALSE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxBoxSizer V
- 26503192
+ 47394384
dialog-control-document
sizer
0
1
- 26411120
+ 0
+ 47306432
0
wbBoxSizerProxy
Vertical
@@ -3649,15 +3943,16 @@ May it do so now?
FALSE
FALSE
<Any platform>
-
+
wxButton: wxID_OK
- 26509568
+ 47415760
dialog-control-document
dialogcontrol
0
1
- 26503192
+ 0
+ 47394384
0
wbButtonProxy
wxID_OK
@@ -3678,9 +3973,8 @@ May it do so now?
FALSE
FALSE
FALSE
+ FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -3697,16 +3991,21 @@ May it do so now?
FALSE
FALSE
FALSE
+
+
+ FALSE
+ FALSE
-
+
wxButton: wxID_CANCEL
- 26523112
+ 47416816
dialog-control-document
dialogcontrol
0
1
- 26503192
+ 0
+ 47394384
0
wbButtonProxy
wxID_CANCEL
@@ -3727,9 +4026,8 @@ May it do so now?
FALSE
FALSE
FALSE
+ FALSE
FALSE
- FALSE
- FALSE
-1
-1
@@ -3746,35 +4044,588 @@ May it do so now?
FALSE
FALSE
FALSE
+
+
+ FALSE
+ FALSE
+
+
+
+
+
+
+ Account Manager Credentials
+ 45979872
+ dialog-document
+
+ dialog
+ 0
+ 1
+ 0
+ 46610800
+ 0
+ 10/2/2005
+ wbDialogProxy
+ 10000
+ FALSE
+
+ ID_DIALOG
+ 10000
+ CDlgAccountManager
+ wxDialog
+ wxDialog
+ DlgAccountManager
+ DlgAccountManager
+
+ Account Manager Credentials
+ TRUE
+
+ FALSE
+
+
+
+
+
+ FALSE
+ <Any platform>
+ FALSE
+ TRUE
+ TRUE
+ FALSE
+ TRUE
+ FALSE
+ FALSE
+ TRUE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ TRUE
+ FALSE
+
+ FALSE
+ TRUE
+ -1
+ -1
+ 400
+ 300
+
+
+ wxBoxSizer V
+ 46000672
+ dialog-control-document
+
+ sizer
+ 0
+ 1
+ 0
+ 45979872
+ 0
+ 10/2/2005
+ wbBoxSizerProxy
+ Vertical
+
+ FALSE
+ FALSE
+ FALSE
+ <Any platform>
+
+ wxBoxSizer H
+ 45999296
+ dialog-control-document
+
+ sizer
+ 0
+ 1
+ 0
+ 46000672
+ 0
+ 10/2/2005
+ wbBoxSizerProxy
+ Horizontal
+
+ Centre
+ Centre
+ 0
+ 5
+ TRUE
+ TRUE
+ TRUE
+ TRUE
+ FALSE
+ FALSE
+ FALSE
+ <Any platform>
+
+ wxFlexGridSizer
+ 45983008
+ dialog-control-document
+
+ sizer
+ 0
+ 1
+ 0
+ 45999296
+ 0
+ 10/2/2005
+ wbFlexGridSizerProxy
+
+
+ 2
+ 2
+ 0
+ 0
+
+ <Any platform>
+ Centre
+ Centre
+ 0
+ 5
+ TRUE
+ TRUE
+ TRUE
+ TRUE
+ FALSE
+ FALSE
+ FALSE
+
+ wxStaticText: wxID_STATIC
+ 45987840
+ dialog-control-document
+
+ statictext
+ 0
+ 1
+ 0
+ 45983008
+ 0
+ 10/2/2005
+ wbStaticTextProxy
+ wxID_STATIC
+ 5105
+ wxStaticText
+
+ Username:
+
+
+
+
+
+ FALSE
+ <Any platform>
+
+
+ FALSE
+ TRUE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+
+ -1
+ -1
+ -1
+ -1
+ Right
+ Centre
+ 0
+ 5
+ TRUE
+ TRUE
+ TRUE
+ TRUE
+ FALSE
+ TRUE
+ FALSE
+
+
+
+
+ wxTextCtrl: ID_ACCTMANAGERUSERNAME
+ 45996320
+ dialog-control-document
+
+ textctrl
+ 0
+ 1
+ 0
+ 45983008
+ 0
+ 10/2/2005
+ wbTextCtrlProxy
+ ID_ACCTMANAGERUSERNAME
+ 10001
+ wxTextCtrl
+ m_AcctManagerUsernameCtrl
+
+
+
+
+
+
+ FALSE
+ <Any platform>
+
+
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+
+ -1
+ -1
+ 200
+ -1
+ Centre
+ Centre
+ 0
+ 5
+ TRUE
+ TRUE
+ TRUE
+ TRUE
+ FALSE
+ FALSE
+ FALSE
+
+
+
+
+ wxStaticText: wxID_STATIC
+ 45767872
+ dialog-control-document
+
+ statictext
+ 0
+ 1
+ 0
+ 45983008
+ 0
+ 10/2/2005
+ wbStaticTextProxy
+ wxID_STATIC
+ 5105
+ wxStaticText
+
+ Password:
+
+
+
+
+
+ FALSE
+ <Any platform>
+
+
+ FALSE
+ TRUE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+
+ -1
+ -1
+ -1
+ -1
+ Right
+ Centre
+ 0
+ 5
+ TRUE
+ TRUE
+ TRUE
+ TRUE
+ FALSE
+ TRUE
+ FALSE
+
+
+
+
+ wxTextCtrl: ID_ACCTMANAGERPASSWORD
+ 45771280
+ dialog-control-document
+
+ textctrl
+ 0
+ 1
+ 0
+ 45983008
+ 0
+ 10/2/2005
+ wbTextCtrlProxy
+ ID_ACCTMANAGERPASSWORD
+ 10002
+ wxTextCtrl
+ m_AcctManagerPasswordCtrl
+
+
+
+
+
+
+ FALSE
+ <Any platform>
+
+
+ FALSE
+ FALSE
+ FALSE
+ TRUE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+
+ -1
+ -1
+ 200
+ -1
+ Centre
+ Centre
+ 0
+ 5
+ TRUE
+ TRUE
+ TRUE
+ TRUE
+ FALSE
+ FALSE
+ FALSE
+
+
+
+
+
+ wxBoxSizer V
+ 45755888
+ dialog-control-document
+
+ sizer
+ 0
+ 1
+ 0
+ 45999296
+ 0
+ 10/2/2005
+ wbBoxSizerProxy
+ Vertical
+
+ Centre
+ Top
+ 0
+ 5
+ TRUE
+ TRUE
+ TRUE
+ TRUE
+ FALSE
+ FALSE
+ FALSE
+ <Any platform>
+
+ wxButton: wxID_OK
+ 45770336
+ dialog-control-document
+
+ dialogcontrol
+ 0
+ 1
+ 0
+ 45755888
+ 0
+ 10/2/2005
+ wbButtonProxy
+ wxID_OK
+ 5100
+ wxButton
+
+ &OK
+ TRUE
+
+
+
+
+
+ FALSE
+ <Any platform>
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+
+ -1
+ -1
+ -1
+ -1
+ Centre
+ Centre
+ 0
+ 5
+ TRUE
+ TRUE
+ TRUE
+ TRUE
+ FALSE
+ FALSE
+ FALSE
+
+
+ FALSE
+ FALSE
+
+
+ wxButton: wxID_CANCEL
+ 45765312
+ dialog-control-document
+
+ dialogcontrol
+ 0
+ 1
+ 0
+ 45755888
+ 0
+ 10/2/2005
+ wbButtonProxy
+ wxID_CANCEL
+ 5101
+ wxButton
+
+ &Cancel
+ FALSE
+
+
+
+
+
+ FALSE
+ <Any platform>
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+ FALSE
+
+ -1
+ -1
+ -1
+ -1
+ Centre
+ Centre
+ 0
+ 5
+ TRUE
+ TRUE
+ TRUE
+ TRUE
+ FALSE
+ FALSE
+ FALSE
+
+
+ FALSE
+ FALSE
-
+
Images
- 12790696
+ 47455040
html-document
bitmapsfolder
1
1
- 12516392
+ 0
+ 14273840
1
-
+
Untitled
- 12742664
+ 47454000
image-document
boincsm.xpm
image
0
1
- 12790696
+ 0
+ 47455040
0
9/3/2004
100
+
+ Sources
+ 14728032
+ html-document
+
+ sourcesfolder
+ 1
+ 1
+ 0
+ 14273840
+ 1
+ 10/2/2005
+
diff --git a/clientgui/DlgAccountManager.cpp b/clientgui/DlgAccountManager.cpp
new file mode 100644
index 0000000000..b2c2552af9
--- /dev/null
+++ b/clientgui/DlgAccountManager.cpp
@@ -0,0 +1,129 @@
+// Berkeley Open Infrastructure for Network Computing
+// http://boinc.berkeley.edu
+// Copyright (C) 2005 University of California
+//
+// This is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation;
+// either version 2.1 of the License, or (at your option) any later version.
+//
+// This software is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+// See the GNU Lesser General Public License for more details.
+//
+// To view the GNU Lesser General Public License visit
+// http://www.gnu.org/copyleft/lesser.html
+// or write to the Free Software Foundation, Inc.,
+// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+#if defined(__GNUG__) && !defined(__APPLE__)
+#pragma implementation "DlgAccountManager.h"
+#endif
+
+#include "stdwx.h"
+#include "BOINCGUIApp.h"
+#include "DlgAccountManager.h"
+
+#include "res/boincsm.xpm"
+
+IMPLEMENT_DYNAMIC_CLASS( CDlgAccountManager, wxDialog )
+
+BEGIN_EVENT_TABLE( CDlgAccountManager, wxDialog )
+END_EVENT_TABLE()
+
+CDlgAccountManager::CDlgAccountManager()
+{
+}
+
+CDlgAccountManager::CDlgAccountManager( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style )
+{
+ Create(parent, id, caption, pos, size, style);
+}
+
+bool CDlgAccountManager::Create( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style )
+{
+////@begin CDlgAccountManager member initialisation
+ m_AcctManagerUsernameCtrl = NULL;
+ m_AcctManagerPasswordCtrl = NULL;
+////@end CDlgAccountManager member initialisation
+
+////@begin CDlgAccountManager creation
+ SetExtraStyle(GetExtraStyle()|wxWS_EX_BLOCK_EVENTS);
+ wxDialog::Create( parent, id, caption, pos, size, style );
+
+ CreateControls();
+ GetSizer()->Fit(this);
+ GetSizer()->SetSizeHints(this);
+ Centre();
+////@end CDlgAccountManager creation
+ return TRUE;
+}
+
+void CDlgAccountManager::CreateControls()
+{
+////@begin CDlgAccountManager content construction
+
+ CDlgAccountManager* itemDialog1 = this;
+
+ wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
+ itemDialog1->SetSizer(itemBoxSizer2);
+
+ wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxHORIZONTAL);
+ itemBoxSizer2->Add(itemBoxSizer3, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
+
+ wxFlexGridSizer* itemFlexGridSizer4 = new wxFlexGridSizer(2, 2, 0, 0);
+ itemBoxSizer3->Add(itemFlexGridSizer4, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
+
+ wxStaticText* itemStaticText5 = new wxStaticText;
+ itemStaticText5->Create( itemDialog1, wxID_STATIC, _("Username:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
+ itemFlexGridSizer4->Add(itemStaticText5, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5);
+
+ m_AcctManagerUsernameCtrl = new wxTextCtrl;
+ m_AcctManagerUsernameCtrl->Create( itemDialog1, ID_ACCTMANAGERUSERNAME, _T(""), wxDefaultPosition, wxSize(200, -1), 0 );
+ itemFlexGridSizer4->Add(m_AcctManagerUsernameCtrl, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
+
+ wxStaticText* itemStaticText7 = new wxStaticText;
+ itemStaticText7->Create( itemDialog1, wxID_STATIC, _("Password:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
+ itemFlexGridSizer4->Add(itemStaticText7, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5);
+
+ m_AcctManagerPasswordCtrl = new wxTextCtrl;
+ m_AcctManagerPasswordCtrl->Create( itemDialog1, ID_ACCTMANAGERPASSWORD, _T(""), wxDefaultPosition, wxSize(200, -1), wxTE_PASSWORD );
+ itemFlexGridSizer4->Add(m_AcctManagerPasswordCtrl, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
+
+ wxBoxSizer* itemBoxSizer9 = new wxBoxSizer(wxVERTICAL);
+ itemBoxSizer3->Add(itemBoxSizer9, 0, wxALIGN_TOP|wxALL, 5);
+
+ wxButton* itemButton10 = new wxButton;
+ itemButton10->Create( itemDialog1, wxID_OK, _("&OK"), wxDefaultPosition, wxDefaultSize, 0 );
+ itemButton10->SetDefault();
+ itemBoxSizer9->Add(itemButton10, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
+
+ wxButton* itemButton11 = new wxButton;
+ itemButton11->Create( itemDialog1, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
+ itemBoxSizer9->Add(itemButton11, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
+
+////@end CDlgAccountManager content construction
+}
+
+bool CDlgAccountManager::ShowToolTips()
+{
+ return TRUE;
+}
+
+wxBitmap CDlgAccountManager::GetBitmapResource( const wxString& name )
+{
+ // Bitmap retrieval
+////@begin CDlgAccountManager bitmap retrieval
+ return wxNullBitmap;
+////@end CDlgAccountManager bitmap retrieval
+}
+
+wxIcon CDlgAccountManager::GetIconResource( const wxString& name )
+{
+ // Icon retrieval
+////@begin CDlgAccountManager icon retrieval
+ return wxNullIcon;
+////@end CDlgAccountManager icon retrieval
+}
diff --git a/clientgui/DlgAccountManager.h b/clientgui/DlgAccountManager.h
new file mode 100644
index 0000000000..9c5384051b
--- /dev/null
+++ b/clientgui/DlgAccountManager.h
@@ -0,0 +1,108 @@
+// Berkeley Open Infrastructure for Network Computing
+// http://boinc.berkeley.edu
+// Copyright (C) 2005 University of California
+//
+// This is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation;
+// either version 2.1 of the License, or (at your option) any later version.
+//
+// This software is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+// See the GNU Lesser General Public License for more details.
+//
+// To view the GNU Lesser General Public License visit
+// http://www.gnu.org/copyleft/lesser.html
+// or write to the Free Software Foundation, Inc.,
+// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+#ifndef _DLGACCOUNTMANAGER_H_
+#define _DLGACCOUNTMANAGER_H_
+
+#if defined(__GNUG__) && !defined(__APPLE__)
+#pragma interface "DlgAccountManager.cpp"
+#endif
+
+/*!
+ * Includes
+ */
+
+////@begin includes
+////@end includes
+
+/*!
+ * Forward declarations
+ */
+
+////@begin forward declarations
+////@end forward declarations
+
+/*!
+ * Control identifiers
+ */
+
+////@begin control identifiers
+#define ID_DIALOG 10000
+#define SYMBOL_CDLGACCOUNTMANAGER_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX
+#define SYMBOL_CDLGACCOUNTMANAGER_TITLE _("Account Manager Credentials")
+#define SYMBOL_CDLGACCOUNTMANAGER_IDNAME ID_DIALOG
+#define SYMBOL_CDLGACCOUNTMANAGER_SIZE wxSize(400, 300)
+#define SYMBOL_CDLGACCOUNTMANAGER_POSITION wxDefaultPosition
+#define ID_ACCTMANAGERUSERNAME 10001
+#define ID_ACCTMANAGERPASSWORD 10002
+////@end control identifiers
+
+/*!
+ * Compatibility
+ */
+
+#ifndef wxCLOSE_BOX
+#define wxCLOSE_BOX 0x1000
+#endif
+#ifndef wxFIXED_MINSIZE
+#define wxFIXED_MINSIZE 0
+#endif
+
+/*!
+ * CDlgAccountManager class declaration
+ */
+
+class CDlgAccountManager: public wxDialog
+{
+ DECLARE_DYNAMIC_CLASS( CDlgAccountManager )
+ DECLARE_EVENT_TABLE()
+
+public:
+ /// Constructors
+ CDlgAccountManager( );
+ CDlgAccountManager( wxWindow* parent, wxWindowID id = SYMBOL_CDLGACCOUNTMANAGER_IDNAME, const wxString& caption = SYMBOL_CDLGACCOUNTMANAGER_TITLE, const wxPoint& pos = SYMBOL_CDLGACCOUNTMANAGER_POSITION, const wxSize& size = SYMBOL_CDLGACCOUNTMANAGER_SIZE, long style = SYMBOL_CDLGACCOUNTMANAGER_STYLE );
+
+ /// Creation
+ bool Create( wxWindow* parent, wxWindowID id = SYMBOL_CDLGACCOUNTMANAGER_IDNAME, const wxString& caption = SYMBOL_CDLGACCOUNTMANAGER_TITLE, const wxPoint& pos = SYMBOL_CDLGACCOUNTMANAGER_POSITION, const wxSize& size = SYMBOL_CDLGACCOUNTMANAGER_SIZE, long style = SYMBOL_CDLGACCOUNTMANAGER_STYLE );
+
+ /// Creates the controls and sizers
+ void CreateControls();
+
+////@begin CDlgAccountManager event handler declarations
+////@end CDlgAccountManager event handler declarations
+
+////@begin CDlgAccountManager member function declarations
+ /// Retrieves bitmap resources
+ wxBitmap GetBitmapResource( const wxString& name );
+
+ /// Retrieves icon resources
+ wxIcon GetIconResource( const wxString& name );
+////@end CDlgAccountManager member function declarations
+
+ /// Should we show tooltips?
+ static bool ShowToolTips();
+
+////@begin CDlgAccountManager member variables
+ wxTextCtrl* m_AcctManagerUsernameCtrl;
+ wxTextCtrl* m_AcctManagerPasswordCtrl;
+////@end CDlgAccountManager member variables
+};
+
+#endif
+ // _DLGACCOUNTMANAGER_H_
diff --git a/clientgui/Events.h b/clientgui/Events.h
index 098ff63c2b..66c72db626 100644
--- a/clientgui/Events.h
+++ b/clientgui/Events.h
@@ -23,27 +23,28 @@
#define ID_STATUSBAR 6000
-#define ID_TOOLSOPTIONS 6001
-#define ID_FRAMENOTEBOOK 6002
-#define ID_REFRESHSTATETIMER 6003
-#define ID_FRAMERENDERTIMER 6004
-#define ID_FRAMETASKRENDERTIMER 6005
-#define ID_FRAMELISTRENDERTIMER 6006
-#define ID_HIDE 6007
-#define ID_ACTIVITYRUNALWAYS 6008
-#define ID_ACTIVITYRUNBASEDONPREPERENCES 6009
-#define ID_ACTIVITYSUSPEND 6010
-#define ID_NETWORKRUNALWAYS 6011
-#define ID_NETWORKRUNBASEDONPREPERENCES 6012
-#define ID_NETWORKSUSPEND 6013
-#define ID_RUNBENCHMARKS 6014
-#define ID_SELECTCOMPUTER 6015
-#define ID_TB_ACTIVITYRUNALWAYS 6016
-#define ID_TB_ACTIVITYRUNBASEDONPREPERENCES 6017
-#define ID_TB_ACTIVITYSUSPEND 6018
-#define ID_TB_NETWORKRUNALWAYS 6019
-#define ID_TB_NETWORKRUNBASEDONPREPERENCES 6020
-#define ID_TB_NETWORKSUSPEND 6021
+#define ID_TOOLSUPDATEACCOUNTS 6001
+#define ID_TOOLSOPTIONS 6002
+#define ID_FRAMENOTEBOOK 6003
+#define ID_REFRESHSTATETIMER 6004
+#define ID_FRAMERENDERTIMER 6005
+#define ID_FRAMETASKRENDERTIMER 6006
+#define ID_FRAMELISTRENDERTIMER 6007
+#define ID_HIDE 6008
+#define ID_ACTIVITYRUNALWAYS 6009
+#define ID_ACTIVITYRUNBASEDONPREPERENCES 6010
+#define ID_ACTIVITYSUSPEND 6011
+#define ID_NETWORKRUNALWAYS 6012
+#define ID_NETWORKRUNBASEDONPREPERENCES 6013
+#define ID_NETWORKSUSPEND 6014
+#define ID_RUNBENCHMARKS 6015
+#define ID_SELECTCOMPUTER 6016
+#define ID_TB_ACTIVITYRUNALWAYS 6017
+#define ID_TB_ACTIVITYRUNBASEDONPREPERENCES 6018
+#define ID_TB_ACTIVITYSUSPEND 6019
+#define ID_TB_NETWORKRUNALWAYS 6020
+#define ID_TB_NETWORKRUNBASEDONPREPERENCES 6021
+#define ID_TB_NETWORKSUSPEND 6022
#define ID_LIST_BASE 7000
#define ID_LIST_PROJECTSVIEW 7000
#define ID_LIST_WORKVIEW 7001
diff --git a/clientgui/MainDocument.cpp b/clientgui/MainDocument.cpp
index 3f000ac139..4a6cadff1b 100644
--- a/clientgui/MainDocument.cpp
+++ b/clientgui/MainDocument.cpp
@@ -132,6 +132,9 @@ wxInt32 CMainDocument::OnInit()
wxInt32 iRetVal = -1;
wxString strMachine = wxEmptyString;
+ // attempt to lookup account management information
+ acct_mgr.init();
+
if ( !IsConnected() )
iRetVal = Connect( strMachine );
@@ -146,6 +149,9 @@ wxInt32 CMainDocument::OnExit()
if ( IsConnected() )
iRetVal = Disconnect();
+ // attempt to cleanup the account management information
+ acct_mgr.close();
+
return iRetVal;
}
@@ -2164,4 +2170,53 @@ wxInt32 CMainDocument::SetProxySOCKSPassword( const wxString& strPassword )
}
+wxInt32 CMainDocument::GetAccountManagerName( wxString& strName )
+{
+ strName.Clear();
+ strName = acct_mgr.acct_mgr.name.c_str();
+ return 0;
+}
+
+
+wxInt32 CMainDocument::InitializeAccountManagerLogin( const wxString& strLogin, const wxString& strPassword )
+{
+ acct_mgr.acct_mgr_login_initialized = true;
+ acct_mgr.acct_mgr_login.login = strLogin.c_str();
+ acct_mgr.acct_mgr_login.password = strPassword.c_str();
+ return 0;
+}
+
+
+wxInt32 CMainDocument::UpdateAccountManagerAccounts()
+{
+ wxInt32 iRetVal = 0;
+ wxString strEmpty = wxEmptyString;
+
+ iRetVal = rpc.acct_mgr_rpc(
+ acct_mgr.acct_mgr.url.c_str(),
+ acct_mgr.acct_mgr_login.login.c_str(),
+ acct_mgr.acct_mgr_login.password.c_str()
+ );
+ if (iRetVal)
+ {
+ wxLogTrace("CMainDocument::UpdateAccountManagerAccounts - Account Manager RPC Failed '%d'", iRetVal);
+ Connect( strEmpty );
+ }
+
+ return iRetVal;
+}
+
+
+bool CMainDocument::IsAccountManagerFound()
+{
+ return acct_mgr.acct_mgr_found;
+}
+
+
+bool CMainDocument::IsAccountManagerLoginFound()
+{
+ return acct_mgr.acct_mgr_login_found;
+}
+
+
const char *BOINC_RCSID_aa03a835ba = "$Id$";
diff --git a/clientgui/MainDocument.h b/clientgui/MainDocument.h
index 582f66418d..f72a4c8ee4 100644
--- a/clientgui/MainDocument.h
+++ b/clientgui/MainDocument.h
@@ -25,6 +25,7 @@
#endif
#include "gui_rpc_client.h"
+#include "acct_mgr_client.h"
class CMainDocument : public wxObject
@@ -283,6 +284,23 @@ public:
wxInt32 SetProxySOCKSUserName( const wxString& strUserName );
wxInt32 SetProxySOCKSPassword( const wxString& strPassword );
+
+ //
+ // Account Management
+ //
+private:
+
+ ACCT_MGR_CLIENT acct_mgr;
+
+public:
+ wxInt32 GetAccountManagerName( wxString& strName );
+
+ wxInt32 InitializeAccountManagerLogin( const wxString& strLogin, const wxString& strPassword );
+ wxInt32 UpdateAccountManagerAccounts();
+
+ bool IsAccountManagerFound();
+ bool IsAccountManagerLoginFound();
+
};
#endif
diff --git a/clientgui/MainFrame.cpp b/clientgui/MainFrame.cpp
index 6e63f99dc0..62eca9b4fc 100644
--- a/clientgui/MainFrame.cpp
+++ b/clientgui/MainFrame.cpp
@@ -33,6 +33,7 @@
#include "ViewResources.h"
#include "DlgAbout.h"
#include "DlgOptions.h"
+#include "DlgAccountManager.h"
#include "res/BOINCGUIApp.xpm"
#include "res/connect.xpm"
@@ -147,6 +148,7 @@ BEGIN_EVENT_TABLE (CMainFrame, wxFrame)
EVT_MENU(ID_RUNBENCHMARKS, CMainFrame::OnRunBenchmarks)
EVT_MENU(ID_SELECTCOMPUTER, CMainFrame::OnSelectComputer)
EVT_MENU(wxID_EXIT, CMainFrame::OnExit)
+ EVT_MENU(ID_TOOLSUPDATEACCOUNTS, CMainFrame::OnToolsUpdateAccounts)
EVT_MENU(ID_TOOLSOPTIONS, CMainFrame::OnToolsOptions)
EVT_MENU(wxID_ABOUT, CMainFrame::OnAbout)
EVT_CLOSE(CMainFrame::OnClose)
@@ -254,6 +256,11 @@ bool CMainFrame::CreateMenu()
{
wxLogTrace(wxT("Function Start/End"), wxT("CMainFrame::CreateMenu - Function Begin"));
+ CMainDocument* pDoc = wxGetApp().GetDocument();
+
+ wxASSERT(NULL != pDoc);
+ wxASSERT(wxDynamicCast(pDoc, CMainDocument));
+
// File menu
wxMenu *menuFile = new wxMenu;
@@ -315,6 +322,17 @@ bool CMainFrame::CreateMenu()
// Tools menu
wxMenu *menuTools = new wxMenu;
+ if ( pDoc->IsAccountManagerFound() )
+ {
+ menuTools->Append(
+ ID_TOOLSUPDATEACCOUNTS,
+ _("&Update Accounts"),
+ _("Connect to your account manager website and update all of your accounts")
+ );
+
+ menuFile->AppendSeparator();
+ }
+
menuTools->Append(
ID_TOOLSOPTIONS,
_("&Options"),
@@ -749,6 +767,42 @@ void CMainFrame::OnExit( wxCommandEvent& WXUNUSED(event) )
}
+void CMainFrame::OnToolsUpdateAccounts( wxCommandEvent& WXUNUSED(event) )
+{
+ wxLogTrace(wxT("Function Start/End"), wxT("CMainFrame::OnToolsUpdateAccounts - Function Begin"));
+
+ CMainDocument* pDoc = wxGetApp().GetDocument();
+ CDlgAccountManager* pDlg = new CDlgAccountManager(this);
+ wxInt32 iAnswer = 0;
+ wxString strLogin = wxEmptyString;
+ wxString strPassword = wxEmptyString;
+
+
+ wxASSERT(NULL != pDoc);
+ wxASSERT(wxDynamicCast(pDoc, CMainDocument));
+ wxASSERT(NULL != pDlg);
+
+ if ( !pDoc->IsAccountManagerLoginFound() )
+ {
+ iAnswer = pDlg->ShowModal();
+ if ( wxID_OK == iAnswer )
+ {
+ strLogin = pDlg->m_AcctManagerUsernameCtrl->GetValue();
+ strPassword = pDlg->m_AcctManagerUsernameCtrl->GetValue();
+
+ pDoc->InitializeAccountManagerLogin( strLogin, strPassword );
+ }
+ }
+
+ pDoc->UpdateAccountManagerAccounts();
+
+ if (pDlg)
+ pDlg->Destroy();
+
+ wxLogTrace(wxT("Function Start/End"), wxT("CMainFrame::OnToolsUpdateAccounts - Function End"));
+}
+
+
void CMainFrame::OnToolsOptions( wxCommandEvent& WXUNUSED(event) )
{
wxLogTrace(wxT("Function Start/End"), wxT("CMainFrame::OnToolsOptions - Function Begin"));
diff --git a/clientgui/MainFrame.h b/clientgui/MainFrame.h
index d5021b6d12..e41443adb8 100644
--- a/clientgui/MainFrame.h
+++ b/clientgui/MainFrame.h
@@ -64,6 +64,7 @@ public:
void OnSelectComputer( wxCommandEvent& event );
void OnExit( wxCommandEvent& event );
+ void OnToolsUpdateAccounts( wxCommandEvent& event );
void OnToolsOptions( wxCommandEvent& event );
void OnAbout( wxCommandEvent& event );
diff --git a/lib/acct_mgr_client.C b/lib/acct_mgr_client.C
new file mode 100644
index 0000000000..c69271c36f
--- /dev/null
+++ b/lib/acct_mgr_client.C
@@ -0,0 +1,188 @@
+// Berkeley Open Infrastructure for Network Computing
+// http://boinc.berkeley.edu
+// Copyright (C) 2005 University of California
+//
+// This is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation;
+// either version 2.1 of the License, or (at your option) any later version.
+//
+// This software is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+// See the GNU Lesser General Public License for more details.
+//
+// To view the GNU Lesser General Public License visit
+// http://www.gnu.org/copyleft/lesser.html
+// or write to the Free Software Foundation, Inc.,
+// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+#ifdef _WIN32
+#include "boinc_win.h"
+#include "version.h"
+#else
+#include "config.h"
+#include
+#include
+#include
+#include
+#include
+#include
+#endif
+
+#include "diagnostics.h"
+#include "parse.h"
+#include "error_numbers.h"
+#include "miofile.h"
+#include "md5_file.h"
+#include "acct_mgr_client.h"
+
+using std::string;
+using std::vector;
+
+
+ACCT_MGR::ACCT_MGR() {
+ clear();
+}
+
+ACCT_MGR::~ACCT_MGR() {
+ clear();
+}
+
+int ACCT_MGR::parse(MIOFILE& in) {
+ char buf[256];
+ while (in.fgets(buf, 256)) {
+ if (match_tag(buf, "")) return 0;
+ else if (parse_str(buf, "", name)) continue;
+ else if (parse_str(buf, "", url)) continue;
+ }
+ return ERR_XML_PARSE;
+}
+
+void ACCT_MGR::print() {
+ printf(" name: %s\n", name.c_str());
+ printf(" url: %s\n", url.c_str());
+}
+
+void ACCT_MGR::clear() {
+ name.clear();
+ url.clear();
+}
+
+ACCT_MGR_LOGIN::ACCT_MGR_LOGIN() {
+ clear();
+}
+
+ACCT_MGR_LOGIN::~ACCT_MGR_LOGIN() {
+ clear();
+}
+
+int ACCT_MGR_LOGIN::parse(MIOFILE& in) {
+ char buf[256];
+ while (in.fgets(buf, 256)) {
+ if (match_tag(buf, "")) return 0;
+ else if (parse_str(buf, "", login)) continue;
+ else if (parse_str(buf, "", password)) continue;
+ }
+ return ERR_XML_PARSE;
+}
+
+void ACCT_MGR_LOGIN::print() {
+ printf(" login: %s\n", login.c_str());
+ printf(" password: %s\n", password.c_str());
+}
+
+void ACCT_MGR_LOGIN::clear() {
+ login.clear();
+ password.clear();
+}
+
+
+ACCT_MGR_CLIENT::ACCT_MGR_CLIENT()
+{
+ acct_mgr_found = false;
+ acct_mgr_login_found = false;
+ acct_mgr_login_initialized = false;
+ acct_mgr.clear();
+ acct_mgr_login.clear();
+}
+
+
+ACCT_MGR_CLIENT::~ACCT_MGR_CLIENT()
+{
+ acct_mgr_found = false;
+ acct_mgr_login_found = false;
+ acct_mgr_login_initialized = false;
+ acct_mgr.clear();
+ acct_mgr_login.clear();
+}
+
+
+int ACCT_MGR_CLIENT::init()
+{
+ char buf[256];
+ int retval;
+ MIOFILE mf;
+ FILE* acct_mgr_file;
+ FILE* acct_mgr_login_file;
+
+ acct_mgr_file = fopen("acct_mgr_url.xml", "r");
+ if ( NULL != acct_mgr_file ) {
+ acct_mgr_found = true;
+
+ mf.init_file(acct_mgr_file);
+
+ while(mf.fgets(buf, sizeof(buf))) {
+ if (match_tag(buf, "")) {
+ retval = acct_mgr.parse(mf);
+ if (retval) {
+ fprintf( stderr, "Can't parse acct_mgr in ACCT_MGR_CLIENT: %d", retval );
+ }
+ }
+ }
+ }
+
+ acct_mgr_login_file = fopen("acct_mgr_login.xml", "r");
+ if ( (NULL != acct_mgr_login_file) && (0 == retval) ) {
+ acct_mgr_login_found = true;
+
+ mf.init_file(acct_mgr_login_file);
+
+ while(mf.fgets(buf, sizeof(buf))) {
+ if (match_tag(buf, "")) {
+ retval = acct_mgr_login.parse(mf);
+ if (retval) {
+ fprintf( stderr, "Can't parse acct_mgr_login in ACCT_MGR_CLIENT: %d", retval );
+ }
+ }
+ }
+ }
+
+ fclose(acct_mgr_file);
+ fclose(acct_mgr_login_file);
+
+ return retval;
+}
+
+
+void ACCT_MGR_CLIENT::close()
+{
+ if ( ( false == acct_mgr_login_found ) && ( true == acct_mgr_login_initialized ) ) {
+ FILE* acct_mgr_login_file;
+ acct_mgr_login_file = fopen("acct_mgr_login.xml", "w");
+ if ( NULL != acct_mgr_login_file ) {
+ fprintf(
+ acct_mgr_login_file,
+ "\n"
+ " %s\n"
+ " %s\n"
+ "\n",
+ acct_mgr_login.login.c_str(),
+ acct_mgr_login.password.c_str()
+ );
+
+ fclose(acct_mgr_login_file);
+ }
+ }
+}
+
diff --git a/lib/acct_mgr_client.h b/lib/acct_mgr_client.h
new file mode 100644
index 0000000000..2c7188276a
--- /dev/null
+++ b/lib/acct_mgr_client.h
@@ -0,0 +1,72 @@
+// Berkeley Open Infrastructure for Network Computing
+// http://boinc.berkeley.edu
+// Copyright (C) 2005 University of California
+//
+// This is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation;
+// either version 2.1 of the License, or (at your option) any later version.
+//
+// This software is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+// See the GNU Lesser General Public License for more details.
+//
+// To view the GNU Lesser General Public License visit
+// http://www.gnu.org/copyleft/lesser.html
+// or write to the Free Software Foundation, Inc.,
+// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+// a C++ interface to BOINC Account Manager Interface
+
+#ifndef _WIN32
+#include
+#include
+#include
+#endif
+
+#include "miofile.h"
+
+
+class ACCT_MGR {
+public:
+ std::string name;
+ std::string url;
+
+ ACCT_MGR();
+ ~ACCT_MGR();
+
+ int parse(MIOFILE&);
+ void print();
+ void clear();
+};
+
+
+class ACCT_MGR_LOGIN {
+public:
+ std::string login;
+ std::string password;
+
+ ACCT_MGR_LOGIN();
+ ~ACCT_MGR_LOGIN();
+
+ int parse(MIOFILE&);
+ void print();
+ void clear();
+};
+
+
+class ACCT_MGR_CLIENT {
+public:
+ bool acct_mgr_found;
+ ACCT_MGR acct_mgr;
+ bool acct_mgr_login_found;
+ bool acct_mgr_login_initialized;
+ ACCT_MGR_LOGIN acct_mgr_login;
+
+ ACCT_MGR_CLIENT();
+ ~ACCT_MGR_CLIENT();
+
+ int init();
+ void close();
+};
diff --git a/lib/gui_rpc_client.C b/lib/gui_rpc_client.C
index d44667b915..8162677285 100644
--- a/lib/gui_rpc_client.C
+++ b/lib/gui_rpc_client.C
@@ -1587,14 +1587,14 @@ int RPC_CLIENT::quit() {
return rpc.do_rpc("\n");
}
-int RPC_CLIENT::acct_mgr_rpc(char* url, char* name, char* passwd) {
+int RPC_CLIENT::acct_mgr_rpc(const char* url, const char* name, const char* passwd) {
char buf[4096];
RPC rpc(this);
sprintf(buf,
"\n"
" %s\n"
" %s\n"
- " %s\n"
+ " %s\n"
"\n",
url, name, passwd
);
diff --git a/lib/gui_rpc_client.h b/lib/gui_rpc_client.h
index 55020eab6f..d51a24c7fc 100644
--- a/lib/gui_rpc_client.h
+++ b/lib/gui_rpc_client.h
@@ -407,7 +407,7 @@ public:
int result_op(RESULT&, const char*);
int get_host_info(HOST_INFO&);
int quit();
- int acct_mgr_rpc(char* url, char* name, char* passwd);
+ int acct_mgr_rpc(const char* url, const char* name, const char* passwd);
const char* mode_name(int mode);
};
diff --git a/win_build/BOINCGUI.vcproj b/win_build/BOINCGUI.vcproj
index 6033fdd415..8e2726a833 100644
--- a/win_build/BOINCGUI.vcproj
+++ b/win_build/BOINCGUI.vcproj
@@ -144,6 +144,15 @@
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+
+
+
+
+
@@ -177,6 +186,9 @@
+
+
@@ -401,6 +413,9 @@
+
+
@@ -425,6 +440,9 @@
+
+