|
1 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
2 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
4 |
|
5 #include "base/linked_ptr.h" |
|
6 |
|
7 #include "mozilla/ModuleUtils.h" |
|
8 #include "nsIClassInfoImpl.h" |
|
9 |
|
10 #ifdef MOZ_WEBRTC |
|
11 |
|
12 #include "PeerConnectionImpl.h" |
|
13 |
|
14 #define PEERCONNECTION_CID \ |
|
15 {0xb93af7a1, 0x3411, 0x44a8, {0xbd, 0x0a, 0x8a, 0xf3, 0xdd, 0xe4, 0xd8, 0xd8}} |
|
16 |
|
17 #define PEERCONNECTION_CONTRACTID "@mozilla.org/peerconnection;1" |
|
18 |
|
19 #include "stun_udp_socket_filter.h" |
|
20 |
|
21 NS_DEFINE_NAMED_CID(NS_STUN_UDP_SOCKET_FILTER_HANDLER_CID) |
|
22 |
|
23 NS_GENERIC_FACTORY_CONSTRUCTOR(nsStunUDPSocketFilterHandler) |
|
24 |
|
25 |
|
26 namespace sipcc |
|
27 { |
|
28 // Factory defined in sipcc::, defines sipcc::PeerConnectionImplConstructor |
|
29 NS_GENERIC_FACTORY_CONSTRUCTOR(PeerConnectionImpl) |
|
30 } |
|
31 |
|
32 // Defines kPEERCONNECTION_CID |
|
33 NS_DEFINE_NAMED_CID(PEERCONNECTION_CID); |
|
34 |
|
35 static const mozilla::Module::CIDEntry kCIDs[] = { |
|
36 { &kPEERCONNECTION_CID, false, nullptr, sipcc::PeerConnectionImplConstructor }, |
|
37 { &kNS_STUN_UDP_SOCKET_FILTER_HANDLER_CID, false, nullptr, nsStunUDPSocketFilterHandlerConstructor }, |
|
38 { nullptr } |
|
39 }; |
|
40 |
|
41 static const mozilla::Module::ContractIDEntry kContracts[] = { |
|
42 { PEERCONNECTION_CONTRACTID, &kPEERCONNECTION_CID }, |
|
43 { NS_STUN_UDP_SOCKET_FILTER_HANDLER_CONTRACTID, &kNS_STUN_UDP_SOCKET_FILTER_HANDLER_CID }, |
|
44 { nullptr } |
|
45 }; |
|
46 |
|
47 static const mozilla::Module kModule = { |
|
48 mozilla::Module::kVersion, |
|
49 kCIDs, |
|
50 kContracts |
|
51 }; |
|
52 |
|
53 NSMODULE_DEFN(peerconnection) = &kModule; |
|
54 |
|
55 #endif |