Menu

[r13]: / trunk / src / URLDlg.cpp  Maximize  Restore  History

Download this file

75 lines (67 with data), 1.5 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include "StdAfx.h"
#include "Resource.h"
#include "URLDlg.h"
#include "SVN.h"
CURLDlg::CURLDlg(void)
{
}
CURLDlg::~CURLDlg(void)
{
}
LRESULT CURLDlg::DlgFunc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
UNREFERENCED_PARAMETER(lParam);
switch (uMsg)
{
case WM_INITDIALOG:
{
InitDialog(hwndDlg, IDI_COMMITMONITOR);
}
return TRUE;
case WM_COMMAND:
return DoCommand(LOWORD(wParam));
case WM_NOTIFY:
{
}
break;
default:
return FALSE;
}
return TRUE;
}
LRESULT CURLDlg::DoCommand(int id)
{
switch (id)
{
case IDOK:
case IDCANCEL:
EndDialog(*this, id);
break;
case IDC_CHECKURL:
{
// to check if an URL is valid, we have to
// * do an 'svn info' on the URL
// * get the html page from the URL, it may be the SVNParentPath
int len = GetWindowTextLength(GetDlgItem(*this, IDC_URLTOMONITOR));
TCHAR * buf = new TCHAR[len+1];
GetWindowText(GetDlgItem(*this, IDC_URLTOMONITOR), buf, len);
stdstring sUrl = stdstring(buf);
delete [] buf;
SVN svn;
const SVNInfoData * info = svn.GetFirstFileInfo(sUrl, -1, -1, false);
if (info)
{
// the URL is valid (i.e. we could get a Subversion info from it)
}
else
{
// the URL seems not valid (or the server is not reachable)
// try fetching the html page from it (if it's a http/https URL)
// and parse the page - maybe it's the page of an SVNParentPath
// option from where we can get all the repositories to monitor
}
}
break;
}
return 1;
}
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.