forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			89 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 | |
| /* This Source Code Form is subject to the terms of the Mozilla Public
 | |
|  * License, v. 2.0. If a copy of the MPL was not distributed with this
 | |
|  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 | |
| 
 | |
| #include "nsIURI.h"
 | |
| 
 | |
| #include "nsISystemProxySettings.h"
 | |
| #include "nsIServiceManager.h"
 | |
| #include "mozilla/ModuleUtils.h"
 | |
| #include "nsPrintfCString.h"
 | |
| #include "nsNetCID.h"
 | |
| #include "nsISupportsPrimitives.h"
 | |
| #include "nsIURI.h"
 | |
| 
 | |
| #include "AndroidBridge.h"
 | |
| 
 | |
| class nsAndroidSystemProxySettings : public nsISystemProxySettings
 | |
| {
 | |
| public:
 | |
|     NS_DECL_THREADSAFE_ISUPPORTS
 | |
|     NS_DECL_NSISYSTEMPROXYSETTINGS
 | |
| 
 | |
|     nsAndroidSystemProxySettings() {};
 | |
|     nsresult Init();
 | |
| 
 | |
| private:
 | |
|     virtual ~nsAndroidSystemProxySettings() {}
 | |
| };
 | |
| 
 | |
| NS_IMPL_ISUPPORTS(nsAndroidSystemProxySettings, nsISystemProxySettings)
 | |
| 
 | |
| NS_IMETHODIMP
 | |
| nsAndroidSystemProxySettings::GetMainThreadOnly(bool *aMainThreadOnly)
 | |
| {
 | |
|   *aMainThreadOnly = true;
 | |
|   return NS_OK;
 | |
| }
 | |
| 
 | |
| 
 | |
| nsresult
 | |
| nsAndroidSystemProxySettings::Init()
 | |
| {
 | |
|     return NS_OK;
 | |
| }
 | |
| 
 | |
| nsresult
 | |
| nsAndroidSystemProxySettings::GetPACURI(nsACString& aResult)
 | |
| {
 | |
|     return NS_OK;
 | |
| }
 | |
| 
 | |
| nsresult
 | |
| nsAndroidSystemProxySettings::GetProxyForURI(const nsACString & aSpec,
 | |
|                                              const nsACString & aScheme,
 | |
|                                              const nsACString & aHost,
 | |
|                                              const int32_t      aPort,
 | |
|                                              nsACString & aResult)
 | |
| {
 | |
|     return mozilla::AndroidBridge::Bridge()->GetProxyForURI(aSpec, aScheme, aHost, aPort, aResult);
 | |
| }
 | |
| 
 | |
| NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsAndroidSystemProxySettings, Init)
 | |
| 
 | |
| #define NS_ANDROIDSYSTEMPROXYSERVICE_CID                    \
 | |
|     {0xf01f0060, 0x3708, 0x478e,                            \
 | |
|     {0xb9, 0x35, 0x3e, 0xce, 0x8b, 0xe2, 0x94, 0xb8}}
 | |
| 
 | |
| NS_DEFINE_NAMED_CID(NS_ANDROIDSYSTEMPROXYSERVICE_CID);
 | |
| 
 | |
| void test() {};
 | |
| 
 | |
| static const mozilla::Module::CIDEntry kSysProxyCIDs[] = {
 | |
|     { &kNS_ANDROIDSYSTEMPROXYSERVICE_CID, false, nullptr, nsAndroidSystemProxySettingsConstructor },
 | |
|     { nullptr }
 | |
| };
 | |
| 
 | |
| static const mozilla::Module::ContractIDEntry kSysProxyContracts[] = {
 | |
|     { NS_SYSTEMPROXYSETTINGS_CONTRACTID, &kNS_ANDROIDSYSTEMPROXYSERVICE_CID },
 | |
|     { nullptr }
 | |
| };
 | |
| 
 | |
| static const mozilla::Module kSysProxyModule = {
 | |
|     mozilla::Module::kVersion,
 | |
|     kSysProxyCIDs,
 | |
|     kSysProxyContracts
 | |
| };
 | |
| 
 | |
| NSMODULE_DEFN(nsAndroidProxyModule) = &kSysProxyModule;
 | 
