• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2017 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef CHRE_PLATFORM_PLATFORM_WWAN_H_
18 #define CHRE_PLATFORM_PLATFORM_WWAN_H_
19 
20 #include "chre/target_platform/platform_wwan_base.h"
21 
22 namespace chre {
23 
24 class PlatformWwan : public PlatformWwanBase {
25  public:
26   /**
27    * Performs platform-specific deinitialization of the PlatformWwan instance.
28    */
29   ~PlatformWwan();
30 
31   /**
32    * Initializes the platform-specific WWAN implementation. This is potentially
33    * called at a later stage of initialization than the constructor, so platform
34    * implementations are encouraged to put any blocking initialization here.
35    */
36   void init();
37 
38   /**
39    * Returns the set of WWAN capabilities that the platform has exposed. This
40    * may return CHRE_WWAN_CAPABILITIES_NONE if WWAN is not supported.
41    *
42    * @return the WWAN capabilities exposed by this platform.
43    */
44   uint32_t getCapabilities();
45 
46   /**
47    * Requests information about the current cell tower and neighbors. Refer to
48    * the {@link chrePalWwanApi} struct of the CHRE API which includes further
49    * documentation. The semantics of this implementation must be the same as
50    * those provided by the CHRE PAL.
51    *
52    * @return true if the request was accepted.
53    */
54   bool requestCellInfo();
55 
56   /**
57    * Releases a previously published cell info result. Refer to the
58    * {@link chrePalWwanApi} struct of the CHRE API for further documentation.
59    *
60    * @param result a pointer to a result to be released.
61    */
62   void releaseCellInfoResult(chreWwanCellInfoResult *result);
63 };
64 
65 }  // namespace chre
66 
67 #endif  // CHRE_PLATFORM_PLATFORM_WWAN_H_
68