RDK Documentation (Open Sourced RDK Components)
rmh_generate_html_apis.h
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 #include "librmh_wrap.h"
21 
22 
23 
24 #define __COMMAND_MAKE_HTML_OUTPUT(DIR, VARIABLE_NAME, VARIABLE_TYPE, DESCRIPTION_STR)\
25  <tr class="apiParameter"> \
26  <td> \
27  <span class="apiParameterDirection">DIR</span>\
28  </td><td> \
29  <span class="apiParameterName"> VARIABLE_NAME</span> \
30  </td><td> \
31  <span class="apiParameterDescription">DESCRIPTION_STR</span> \
32  </td> \
33  </tr>
34 
35 
36 #define __COMMAND_MAKE_HTML_RMH_INPUT_PARAM(VARIABLE_NAME, VARIABLE_TYPE, DESCRIPTION_STR) __COMMAND_MAKE_HTML_OUTPUT(Input, VARIABLE_NAME, VARIABLE_TYPE, DESCRIPTION_STR)
37 #define __COMMAND_MAKE_HTML_RMH_OUTPUT_PARAM(VARIABLE_NAME, VARIABLE_TYPE, DESCRIPTION_STR) __COMMAND_MAKE_HTML_OUTPUT(Output, VARIABLE_NAME, VARIABLE_TYPE, DESCRIPTION_STR)
38 #define __COMMAND_MAKE_HTML(VARIABLE_DIRECTION, VARIABLE_NAME, VARIABLE_TYPE, DESCRIPTION_STR) __COMMAND_MAKE_HTML_##VARIABLE_DIRECTION(VARIABLE_NAME, VARIABLE_TYPE, DESCRIPTION_STR)
39 #define RMH_PARAMETERS_TO_HTML(PARAMS_LIST) \
40  <table> \
41  __EXE_NUM_PARAMS_X(__COMMAND_MAKE_HTML, __GET_ARGS(PARAMS_LIST)) \
42  </table>
43 
44 #define RMH_API_TO_HTML(_DECLARATION, API_NAME, _DESCRIPTION_STR, PARAMS_LIST, WRAP_API, TAGS_STR, API_TYPE) \
45  <div class="api" id=#API_NAME> \
46  <div> \
47  <p style="text-align:left;"> \
48  <span class="apiTitle">API_NAME</span> \
49  API_TYPE \
50  </p> \
51  </div> \
52  <span class="apiSectionHeader">NAME:</span><BR> \
53  <span class="apiSectionBody">API_NAME</span><BR> \
54  <span class="apiSectionHeader">DECLARATION:</span><BR> \
55  <div class="apiDeclaration">_DECLARATION</div><BR> \
56  <span class="apiSectionHeader">DESCRIPTION:</span><BR> \
57  <div class="apiSectionBody">_DESCRIPTION_STR</div><BR> \
58  <span class="apiSectionHeader">PARAMETERS:</span><BR> \
59  <div class="apiParameters">RMH_PARAMETERS_TO_HTML(PARAMS_LIST)</div><BR> \
60  <span class="apiSectionHeader">TAGS:</span><BR> \
61  <span class="apiSectionBody">TAGS_STR</span><BR> \
62  <BR><a href="#top">Back to top</a> \
63  </div>
64 
65 
66 #define RMH_API_IMPLEMENTATION_SOC_ONLY(_DECLARATION, API_NAME, _DESCRIPTION_STR, PARAMS_LIST, WRAP_API, TAGS_STR) \
67  RMH_API_TO_HTML(_DECLARATION, API_NAME, _DESCRIPTION_STR, PARAMS_LIST, WRAP_API, TAGS_STR, <a class="apiType" href="#toc_soc">SoC Implemented API</a>)
68 
69 #define RMH_API_IMPLEMENTATION_GENERIC_ONLY(_DECLARATION, API_NAME, _DESCRIPTION_STR, PARAMS_LIST, WRAP_API, TAGS_STR) \
70  RMH_API_TO_HTML(_DECLARATION, API_NAME, _DESCRIPTION_STR, PARAMS_LIST, WRAP_API, TAGS_STR, <a class="apiType" href="#toc_generic">Helper API</a>)
71 
72 #define RMH_API_IMPLEMENTATION_SOC_THEN_GENERIC(_DECLARATION, API_NAME, _DESCRIPTION_STR, PARAMS_LIST, WRAP_API, TAGS_STR) \
73  RMH_API_TO_HTML(_DECLARATION, API_NAME, _DESCRIPTION_STR, PARAMS_LIST, WRAP_API, TAGS_STR, <a class="apiType" href="#toc_soc">SoC Implemented API</a>)
74 
75 #define RMH_API_IMPLEMENTATION_GENERIC_THEN_SOC(_DECLARATION, API_NAME, _DESCRIPTION_STR, PARAMS_LIST, WRAP_API, TAGS_STR) \
76  RMH_API_TO_HTML(_DECLARATION, API_NAME, _DESCRIPTION_STR, PARAMS_LIST, WRAP_API, TAGS_STR, <a class="apiType" href="#toc_soc">SoC Implemented API</a>)
77 
78 
79 /* Reinclude API header to print the APIs */
80 #undef RMH_API_H
81 #include "rmh_api.h"