1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/netwerk/socket/nsUDPSocketProvider.cpp Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,46 @@ 1.4 +/* This Source Code Form is subject to the terms of the Mozilla Public 1.5 + * License, v. 2.0. If a copy of the MPL was not distributed with this 1.6 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 1.7 + 1.8 +#include "nsUDPSocketProvider.h" 1.9 + 1.10 +#include "nspr.h" 1.11 + 1.12 +NS_IMPL_ISUPPORTS(nsUDPSocketProvider, nsISocketProvider) 1.13 + 1.14 +nsUDPSocketProvider::~nsUDPSocketProvider() 1.15 +{ 1.16 +} 1.17 + 1.18 +NS_IMETHODIMP 1.19 +nsUDPSocketProvider::NewSocket(int32_t aFamily, 1.20 + const char *aHost, 1.21 + int32_t aPort, 1.22 + nsIProxyInfo *aProxy, 1.23 + uint32_t aFlags, 1.24 + PRFileDesc * *aFileDesc, 1.25 + nsISupports **aSecurityInfo) 1.26 +{ 1.27 + NS_ENSURE_ARG_POINTER(aFileDesc); 1.28 + 1.29 + PRFileDesc* udpFD = PR_OpenUDPSocket(aFamily); 1.30 + if (!udpFD) 1.31 + return NS_ERROR_FAILURE; 1.32 + 1.33 + *aFileDesc = udpFD; 1.34 + return NS_OK; 1.35 +} 1.36 + 1.37 +NS_IMETHODIMP 1.38 +nsUDPSocketProvider::AddToSocket(int32_t aFamily, 1.39 + const char *aHost, 1.40 + int32_t aPort, 1.41 + nsIProxyInfo *aProxy, 1.42 + uint32_t aFlags, 1.43 + struct PRFileDesc * aFileDesc, 1.44 + nsISupports **aSecurityInfo) 1.45 +{ 1.46 + // does not make sense to strap a UDP socket onto an existing socket 1.47 + NS_NOTREACHED("Cannot layer UDP socket on an existing socket"); 1.48 + return NS_ERROR_UNEXPECTED; 1.49 +}