dom/telephony/TelephonyFactory.cpp

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:763c949f55f4
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5
6 #include "mozilla/dom/telephony/TelephonyFactory.h"
7 #if defined(MOZ_WIDGET_GONK) && defined(MOZ_B2G_RIL)
8 #include "nsIGonkTelephonyProvider.h"
9 #endif
10 #include "nsServiceManagerUtils.h"
11 #include "nsXULAppAPI.h"
12 #include "ipc/TelephonyIPCProvider.h"
13
14 USING_TELEPHONY_NAMESPACE
15
16 /* static */ already_AddRefed<nsITelephonyProvider>
17 TelephonyFactory::CreateTelephonyProvider()
18 {
19 nsCOMPtr<nsITelephonyProvider> provider;
20
21 if (XRE_GetProcessType() == GeckoProcessType_Content) {
22 provider = new TelephonyIPCProvider();
23 #if defined(MOZ_WIDGET_GONK) && defined(MOZ_B2G_RIL)
24 } else {
25 provider = do_CreateInstance(GONK_TELEPHONY_PROVIDER_CONTRACTID);
26 #endif
27 }
28
29 return provider.forget();
30 }

mercurial