RDK Documentation (Open Sourced RDK Components)
Device_MoCA_Interface_QoS.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_MoCA_Interface_QoS.h
22
*
23
* TR-069 Device.Moca.Interface.QoS object Public API.
24
*/
25
26
/**
27
* @defgroup TR69_HOSTIF_MOCA_INTERFACE_QOS TR-069 Object (Device.MoCA.Interface.{i}.QoS) Public APIs
28
* The Device.Moca.Interface.QoS object provides information on MoCA parameterized QoS for this interface [MoCAv1.1].
29
* @ingroup TR69_HOSTIF_MOCA
30
*/
31
32
33
/**
34
* @defgroup tr69hostif
35
* @{
36
* @defgroup hostif
37
* @{
38
**/
39
40
41
#ifndef HOSTIF_MOCA_INTERFACE_QOS_H_
42
#define HOSTIF_MOCA_INTERFACE_QOS_H_
43
44
#include "
hostIf_main.h
"
45
#include "hostIf_tr69ReqHandler.h"
46
#include "hostIf_utils.h"
47
#include "
Device_MoCA_Interface.h
"
48
49
50
/*****************************************************************************
51
* TR069-SPECIFIC INCLUDE FILES
52
*****************************************************************************/
53
/** @defgroup TR_069_DEVICE_MOCA_INTERFACE_QOS_API TR-069 Device.Moca.Interface.QoS object API.
54
* @ingroup TR_069_DEVICE_MOCA_INTERFACE_API
55
*
56
* The Device.Moca.Interface.QoS object provides information on MoCA parameterized QoS for this interface.
57
*
58
* @todo The Device.Moca.Interface.QoS object is not specified in the Xi3
59
* data-model.xml file.
60
*
61
*/
62
63
/** @addtogroup TR_069_DEVICE_MOCA_INTERFACE_QOS_GETTER_API TR-069 Device.Moca.Interface.QoS Getter API.
64
* @ingroup TR_069_DEVICE_MOCA_INTERFACE_QOS_API
65
*
66
* \section dev_moca_if_qos_getter TR-069 Device.MoCA.Interface.QoS object Getter API
67
*
68
* This is the getter group of API for the <b>Device.MoCA.Interface.{i}.QoS</b> object.
69
*
70
* The interface for all functions is identical and is described here.
71
*
72
* @param[in] *name This is the complete path name of the parameter extracted from
73
* soap message, e.g. ::get_Device_MoCA_Interface_QoS_EgressNumFlows.
74
* In this case, the path is "Device.MoCA.Interface.{i}.QoS.EgressNumFlows".
75
* @param[in] *type Data type of parameter defined for TR-069. This is same as the
76
* data type used in the Xi3 data-model.xml file.
77
* (see parameter.h)
78
* @param[out] *value This is the value of the parameter requested by the ACS.
79
* (see paramaccess.h)
80
*
81
* @return The status of the operation.
82
* @retval OK If parameter requested was successfully fetched. (Same as <b>NO_ERROR</b>).
83
* @retval NO_ERROR If parameter requested was successfully fetched. (Same as <b>OK</b>).
84
* @retval DIAG_ERROR Diagnostic error.
85
* @retval ERR_??? Appropriate error value otherwise (see dimark_globals.h).
86
*
87
* @todo Clarify description of DIAG_ERROR.
88
*
89
* @{
90
*/
91
class
MoCAInterfaceQoS
{
92
93
static
GHashTable *ifHash;
94
int
dev_id;
95
static
class
MoCAInterfaceQoS
*Instance;
96
MoCAInterfaceQoS
() {};
97
~
MoCAInterfaceQoS
() {};
98
99
public
:
100
static
class
MoCAInterfaceQoS
*getInstance();
101
102
/**
103
* @ingroup TR69_HOSTIF_MOCA_INTERFACE_QOS
104
* @{
105
*/
106
107
/**
108
* @brief Get the number of QoS flows that this interface has from the MoCA network.
109
*
110
* This parameter is based on mocaIfEgressNodeNumFlows from [MOCA11-MIB].
111
*
112
* This function provides the output as a numeric value available in Device.MoCA.Interface.{i}.QoS.EgressNumFlow parameter.
113
*
114
* @param[out] stMsgData TR-069 Host interface message request.
115
* @param[out] pChanged pChange set to not NULL if the object value got changed.
116
*
117
* @return Returns 0 on success, otherwise will return the appropriate error code.
118
*/
119
int
get_EgressNumFlows
(
HOSTIF_MsgData_t
*stMsgData,
bool
*pChanged = NULL);
120
121
/**
122
* @brief Get the number of QoS flows that this interface has onto the MoCA network.
123
*
124
* This parameter is based on mocaIfIngressNodeNumFlows from [MOCA11-MIB].
125
*
126
* This function provides the output as a numeric value available in Device.MoCA.Interface.{i}.QoS.IngressNumFlows parameter.
127
*
128
* @param[out] stMsgData TR-069 Host interface message request.
129
* @param[out] pChanged pChange set to not NULL if the object value got changed.
130
*
131
* @return Returns 0 on success, otherwise will return the appropriate error code.
132
*/
133
int
get_IngressNumFlows
(
HOSTIF_MsgData_t
*stMsgData,
bool
*pChanged = NULL);
134
135
/**
136
* @brief Get the number of entries in the FlowStats table.
137
*
138
* This function provides the output as a numeric value available in Device.MoCA.Interface.{i}.QoS.FlowStatsNumberOfEntries parameter.
139
*
140
* @param[in] stMsgData TR-069 Host interface message request.
141
* @param[out] pChanged pChange set to not NULL if the object value got changed.
142
*
143
* @return Returns 0 on success, otherwise will return the appropriate error code.
144
*/
145
int
get_FlowStatsNumberOfEntries
(
HOSTIF_MsgData_t
*stMsgData,
bool
*pChanged = NULL);
146
147
/** @} */
//End of Doxygen tag TR69_HOSTIF_MOCA_INTERFACE_QOS
148
};
149
/* End of TR_069_DEVICE_MOCA_INTERFACE_QOS_GETTER_API doxygen group */
150
/**
151
* @}
152
*/
153
154
#endif
/* HOSTIF_MOCA_INTERFACE_QOS_H_ */
155
156
157
/** @} */
158
/** @} */
MoCAInterfaceQoS::get_FlowStatsNumberOfEntries
int get_FlowStatsNumberOfEntries(HOSTIF_MsgData_t *stMsgData, bool *pChanged=NULL)
Get the number of entries in the FlowStats table.
Definition:
Device_MoCA_Interface_QoS.cpp:70
MoCAInterfaceQoS::get_EgressNumFlows
int get_EgressNumFlows(HOSTIF_MsgData_t *stMsgData, bool *pChanged=NULL)
Get the number of QoS flows that this interface has from the MoCA network.
Definition:
Device_MoCA_Interface_QoS.cpp:61
_HostIf_MsgData_t
Definition:
hostIf_tr69ReqHandler.h:170
hostIf_main.h
hostIf_main API.
MoCAInterfaceQoS::get_IngressNumFlows
int get_IngressNumFlows(HOSTIF_MsgData_t *stMsgData, bool *pChanged=NULL)
Get the number of QoS flows that this interface has onto the MoCA network.
Definition:
Device_MoCA_Interface_QoS.cpp:65
MoCAInterfaceQoS
Definition:
Device_MoCA_Interface_QoS.h:91
Device_MoCA_Interface.h
components
generic
tr69hostif
src
hostif
profiles
moca
Device_MoCA_Interface_QoS.h
Generated on Thu Feb 9 2023 06:32:35 for RDK Documentation (Open Sourced RDK Components) by
1.8.17