RDK Documentation (Open Sourced RDK Components)
Device_DeviceInfo_Processor.h
Go to the documentation of this file.
1 /*
2  * If not stated otherwise in this file or this component's Licenses.txt file the
3  * following copyright and licenses apply:
4  *
5  * Copyright 2016 RDK Management
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18 */
19 
20 /**
21  * @file Device_DeviceInfo_Processor.h
22  * @brief The header file provides TR069 device information of processor APIs.
23  */
24 
25 /**
26  * @defgroup TR69_HOSTIF_DEVICE_PROCESSOR TR-069 Object (Device.DeviceInfo.Processor)
27  * Each table entry represents a hardware or virtual processor that resides on this device.
28  * @ingroup TR69_HOSTIF_DEVICEINFO
29  *
30  * @defgroup TR69_HOSTIF_DEVICE_PROCESSOR_API TR-069 Object (Device.DeviceInfo.Processor.Interface.{i}) Public APIs
31  * Describe the details about TR069 DeviceInfo processor APIs specifications.
32  * @ingroup TR69_HOSTIF_DEVICE_PROCESSOR
33  *
34  * @defgroup TR69_HOSTIF_DEVICE_PROCESSOR_CLASSES TR-069 Object (Device.DeviceInfo.Processor.Interface.{i}) Public Classes
35  * Describe the details about classes used in TR069 DeviceInfo processor.
36  * @ingroup TR69_HOSTIF_DEVICE_PROCESSOR
37  */
38 
39 
40 
41 
42 /**
43 * @defgroup tr69hostif
44 * @{
45 * @defgroup hostif
46 * @{
47 **/
48 
49 
50 #ifndef DEVICE_DEVICEINFO_PROCESSSOR_H_
51 #define DEVICE_DEVICEINFO_PROCESSSOR_H_
52 
53 /*****************************************************************************
54  * TR069-SPECIFIC INCLUDE FILES
55  *****************************************************************************/
56 
57 #include <sys/utsname.h>
58 #include <string.h>
59 #include "hostIf_main.h"
60 #include "hostIf_utils.h"
61 #include "hostIf_tr69ReqHandler.h"
62 #include "hostIf_updateHandler.h"
63 
64 #define SYS_STRING_LEN 256
65 #define BUF_LEN 1024
66 
67 /**
68  * @brief This class provides the interface for getting device processor information.
69  * @ingroup TR69_HOSTIF_DEVICE_PROCESSOR_CLASSES
70  */
72 {
75  static GHashTable *ifHash;
76  static GMutex *m_mutex;
77  int dev_id;
78 
79  bool bCalledArchitecture;
80 
81  char backupArchitecture[SYS_STRING_LEN];
82 
83 public:
84 
85  static hostIf_DeviceProcessorInterface *getInstance(int dev_id);
86 
87  static void closeInstance(hostIf_DeviceProcessorInterface *);
88 
89  static GList* getAllInstances();
90 
91  static void closeAllInstances();
92 
93  static void getLock();
94 
95  static void releaseLock();
96 
97 
98  static unsigned int getNumOfProcessorEntries(void);
99 
100  /**
101  * Description. This is the getter api for Device_DeviceInfo_Processor. for
102  * Device_DeviceInfo_Processor. object Profile.
103  *
104  * @param[in] name Complete path name of the parameter.
105  * @param[in] type It is a user data type of ParameterType.
106  * @param[out] value It is the value of the parameter.
107  *
108  * @retval OK if successful.
109  * @retval XXX_ERR_BADPARAM if a bad parameter was supplied.
110  *
111  * @execution Synchronous.
112  * @sideeffect None.
113  *
114  * @note This function must not suspend and must not invoke any blocking system
115  * calls. It should probably just send a message to a driver event handler task.
116  *
117  * @see XXX_SomeOtherFunction.
118  */
119 
120 
122 
123 };
124 /* End of doxygen group */
125 /**
126  * @}
127  */
128 
129 #endif /* DEVICE_DEVICEINFO_PROCESSSOR_H_ */
130 
131 
132 /** @} */
133 /** @} */
hostIf_DeviceProcessorInterface
This class provides the interface for getting device processor information.
Definition: Device_DeviceInfo_Processor.h:71
_HostIf_MsgData_t
Definition: hostIf_tr69ReqHandler.h:170
hostIf_main.h
hostIf_main API.
hostIf_DeviceProcessorInterface::get_Device_DeviceInfo_Processor_Architecture
int get_Device_DeviceInfo_Processor_Architecture(HOSTIF_MsgData_t *, bool *pChanged=NULL)
This function use to get the architecture of the processor on the underlying hardware.
Definition: Device_DeviceInfo_Processor.cpp:173
hostIf_DeviceProcessorInterface::hostIf_DeviceProcessorInterface
hostIf_DeviceProcessorInterface(int dev_id)
Class Constructor of the class hostIf_DeviceProcessorInterface.
Definition: Device_DeviceInfo_Processor.cpp:127