aboutsummaryrefslogtreecommitdiff
path: root/Src/omBrowser/internetFeatures.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/omBrowser/internetFeatures.h')
-rw-r--r--Src/omBrowser/internetFeatures.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/Src/omBrowser/internetFeatures.h b/Src/omBrowser/internetFeatures.h
new file mode 100644
index 00000000..922aa880
--- /dev/null
+++ b/Src/omBrowser/internetFeatures.h
@@ -0,0 +1,65 @@
+#ifndef NULLSOFT_WINAMP_INTERNET_FEATURES_HELPER_HEADER
+#define NULLSOFT_WINAMP_INTERNET_FEATURES_HELPER_HEADER
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+#pragma once
+#endif
+
+#include <wtypes.h>
+#include <urlmon.h>
+
+#ifndef FEATURE_TABBED_BROWSING
+ #define FEATURE_TABBED_BROWSING ((INTERNETFEATURELIST)19)
+#endif //FEATURE_TABBED_BROWSING
+
+#ifndef FEATURE_SSLUX
+ #define FEATURE_SSLUX ((INTERNETFEATURELIST)20)
+#endif // FEATURE_SSLUX
+
+#ifndef FEATURE_DISABLE_NAVIGATION_SOUNDS
+ #define FEATURE_DISABLE_NAVIGATION_SOUNDS ((INTERNETFEATURELIST)21)
+#endif // FEATURE_DISABLE_NAVIGATION_SOUNDS
+
+#ifndef FEATURE_DISABLE_LEGACY_COMPRESSION
+ #define FEATURE_DISABLE_LEGACY_COMPRESSION ((INTERNETFEATURELIST)22)
+#endif // FEATURE_DISABLE_LEGACY_COMPRESSION
+
+#ifndef FEATURE_FORCE_ADDR_AND_STATUS
+ #define FEATURE_FORCE_ADDR_AND_STATUS ((INTERNETFEATURELIST)23)
+#endif //FEATURE_FORCE_ADDR_AND_STATUS
+
+#ifndef FEATURE_BLOCK_INPUT_PROMPTS
+ #define FEATURE_BLOCK_INPUT_PROMPTS ((INTERNETFEATURELIST)27)
+#endif //FEATURE_BLOCK_INPUT_PROMPTS
+
+class InternetFeatures
+{
+public:
+ InternetFeatures();
+ ~InternetFeatures();
+
+public:
+ HRESULT SetEnabled(INTERNETFEATURELIST FeatureEntry, DWORD dwFlags, BOOL fEnable);
+ HRESULT IsEnabled(INTERNETFEATURELIST FeatureEntry, DWORD dwFlags);
+
+ HRESULT SetDWORDFeature(const wchar_t *featureName, BOOL perUser, unsigned long value);
+ HRESULT GetDWORDFeature(const wchar_t *featureName, BOOL perUser, unsigned long *value);
+ void DeleteFeature(const wchar_t *featureName, BOOL perUser);
+
+protected:
+ HRESULT LoadModule();
+ const wchar_t *GetProcessName();
+
+private:
+ typedef HRESULT (WINAPI *COINTERNETSETFEATUREENABLED)(INTERNETFEATURELIST /*FeatureEntry*/, DWORD /*dwFlags*/, BOOL /*fEnable*/);
+ typedef HRESULT (WINAPI *COINTERNETISFEATUREENABLED)(INTERNETFEATURELIST /*FeatureEntry*/, DWORD /*dwFlags*/);
+
+private:
+ HMODULE module;
+ HRESULT loadResult;
+ COINTERNETSETFEATUREENABLED CoInternetSetFeatureEnabled;
+ COINTERNETISFEATUREENABLED CoInternetIsFeatureEnabled;
+ wchar_t *processName_;
+};
+
+#endif NULLSOFT_WINAMP_INTERNET_FEATURES_HELPER_HEADER \ No newline at end of file