3 |
|
using System.Linq; |
4 |
|
using System.Text; |
5 |
|
using System.Windows.Forms; |
6 |
+ |
using RomCheater.Logging; |
7 |
|
|
8 |
|
namespace RomCheater.Core |
9 |
|
{ |
12 |
|
IWebBrowserInterface GetProvider(); |
13 |
|
} |
14 |
|
public interface IWebBrowserInterface |
15 |
< |
{ |
15 |
< |
//WebBrowser Provider { get; } |
15 |
> |
{ |
16 |
|
void Navigate(string urlString); |
17 |
|
void Navigate(Uri url); |
18 |
– |
//void Navigate(string urlString, bool newWindow); |
19 |
– |
//void Navigate(string urlString, string targetFrameName); |
20 |
– |
//void Navigate(Uri url, bool newWindow); |
21 |
– |
//void Navigate(Uri url, string targetFrameName); |
22 |
– |
//void Navigate(string urlString, string targetFrameName, byte[] postData, string additionalHeaders); |
23 |
– |
//void Navigate(Uri url, string targetFrameName, byte[] postData, string additionalHeaders); |
24 |
– |
|
18 |
|
} |
19 |
|
|
27 |
– |
//public class WebBrowserProvider : IWebBrowserProvider |
28 |
– |
//{ |
29 |
– |
// public WebBrowserProvider(IWebBrowserInterface provider) |
30 |
– |
// { |
31 |
– |
// _provider = provider; |
32 |
– |
// } |
33 |
– |
|
34 |
– |
// #region IWebBrowserProvider Members |
35 |
– |
// private IWebBrowserInterface _provider; |
36 |
– |
// public IWebBrowserInterface GetProvider() |
37 |
– |
// { |
38 |
– |
// return _provider; |
39 |
– |
// } |
40 |
– |
// #endregion |
41 |
– |
//} |
42 |
– |
|
20 |
|
public class EmptyWebBrowserProvider : BaseWebBrowserProvider, IWebBrowserInterface |
21 |
|
{ |
22 |
|
public EmptyWebBrowserProvider() :base() |
47 |
|
public WebBrowser Provider { get { return _Provider; } protected set { _Provider = value; } } |
48 |
|
|
49 |
|
#region Extensions to WebBrowser provider |
50 |
< |
public void Navigate(string urlString) { this.Provider.Navigate(urlString); } |
51 |
< |
public void Navigate(Uri url) { this.Provider.Navigate(url); } |
52 |
< |
//public void Navigate(string urlString, bool newWindow) { this.Provider.Navigate(urlString, newWindow); } |
53 |
< |
//public void Navigate(string urlString, string targetFrameName) { this.Provider.Navigate(urlString, targetFrameName); } |
54 |
< |
//public void Navigate(Uri url, bool newWindow) { this.Provider.Navigate(url, newWindow); } |
55 |
< |
//public void Navigate(Uri url, string targetFrameName) { this.Provider.Navigate(url, targetFrameName); } |
56 |
< |
//public void Navigate(string urlString, string targetFrameName, byte[] postData, string additionalHeaders) { this.Provider.Navigate(urlString, targetFrameName, postData, additionalHeaders); } |
57 |
< |
//public void Navigate(Uri url, string targetFrameName, byte[] postData, string additionalHeaders) { this.Provider.Navigate(url, targetFrameName, postData, additionalHeaders); } |
50 |
> |
public void Navigate(string urlString) { NavigateInternal(urlString); } |
51 |
> |
public void Navigate(Uri url) { NavigateInternal(url.ToString()); } |
52 |
> |
|
53 |
> |
private void NavigateInternal(string url) |
54 |
> |
{ |
55 |
> |
try |
56 |
> |
{ |
57 |
> |
Uri uri = new Uri(url); |
58 |
> |
this.Provider.Navigate(uri); |
59 |
> |
} |
60 |
> |
catch (UriFormatException ex) |
61 |
> |
{ |
62 |
> |
MessageBox.Show(string.Format("Could not navigate to url: '{0}'", url), string.Format("A Uri Format Exception Occurred in '{0}'", this.GetType().Name), MessageBoxButtons.OK, MessageBoxIcon.Error); |
63 |
> |
logger.Error.WriteLine("Unable to navigate to url: '{0}'", url); |
64 |
> |
logger.VerboseError.WriteLine(ex.ToString()); |
65 |
> |
} |
66 |
> |
} |
67 |
> |
|
68 |
|
#endregion |
69 |
|
#endregion |
70 |
|
|