mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-28 11:28:38 +00:00
59 lines
2.2 KiB
Plaintext
59 lines
2.2 KiB
Plaintext
/* 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 "nsISupports.idl"
|
|
#include "nsINetAddr.idl"
|
|
|
|
interface nsIUDPSocketInternal;
|
|
|
|
%{ C++
|
|
namespace mozilla {
|
|
namespace net {
|
|
union NetAddr;
|
|
}
|
|
}
|
|
%}
|
|
native NetAddr(mozilla::net::NetAddr);
|
|
[ptr] native NetAddrPtr(mozilla::net::NetAddr);
|
|
|
|
[scriptable, uuid(B47E5A0F-D384-48EF-8885-4259793D9CF0)]
|
|
interface nsIUDPSocketChild : nsISupports
|
|
{
|
|
readonly attribute unsigned short localPort;
|
|
readonly attribute AUTF8String localAddress;
|
|
attribute AUTF8String filterName;
|
|
|
|
// Tell the chrome process to bind the UDP socket to a given local host and port
|
|
void bind(in nsIUDPSocketInternal socket, in AUTF8String host, in unsigned short port);
|
|
|
|
// Tell the chrome process to perform equivalent operations to all following methods
|
|
void send(in AUTF8String host, in unsigned short port,
|
|
[const, array, size_is(byteLength)] in uint8_t bytes,
|
|
in unsigned long byteLength);
|
|
// Send without DNS query
|
|
void sendWithAddr(in nsINetAddr addr,
|
|
[const, array, size_is(byteLength)] in uint8_t bytes,
|
|
in unsigned long byteLength);
|
|
[noscript] void sendWithAddress([const] in NetAddrPtr addr,
|
|
[const, array, size_is(byteLength)] in uint8_t bytes,
|
|
in unsigned long byteLength);
|
|
void close();
|
|
};
|
|
|
|
/*
|
|
* Internal interface for callback from chrome process
|
|
*/
|
|
[scriptable, uuid(1E27E9B3-C1C8-4B05-A415-1A2C1A641C60)]
|
|
interface nsIUDPSocketInternal : nsISupports
|
|
{
|
|
void callListenerError(in AUTF8String type, in AUTF8String message, in AUTF8String filename,
|
|
in uint32_t lineNumber, in uint32_t columnNumber);
|
|
void callListenerReceivedData(in AUTF8String type, in AUTF8String host, in unsigned short port,
|
|
[array, size_is(dataLength)] in uint8_t data,
|
|
in unsigned long dataLength);
|
|
void callListenerVoid(in AUTF8String type);
|
|
void callListenerSent(in AUTF8String type, in nsresult status);
|
|
void updateReadyState(in AUTF8String readyState);
|
|
};
|