RDK Documentation (Open Sourced RDK Components)
rmh_generate_html_toc.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 #include "librmh_wrap.h"
20 
21 
22 #define RMH_API_TO_HTML_TOC(POST_PROC_API_NAME, DECLARATION, API_NAME, DESCRIPTION_STR, PARAMS_LIST, WRAP_API, TAGS_STR) \
23  <li><a href=#POST_PROC_API_NAME>API_NAME</a></li>
24 
25 
26 #ifdef GENERIC_ONLY
27  #define RMH_API_IMPLEMENTATION_SOC_ONLY(DECLARATION, API_NAME, DESCRIPTION_STR, PARAMS_LIST, WRAP_API, TAGS_STR)
28  #define RMH_API_IMPLEMENTATION_SOC_THEN_GENERIC(DECLARATION, API_NAME, DESCRIPTION_STR, PARAMS_LIST, WRAP_API, TAGS_STR)
29  #define RMH_API_IMPLEMENTATION_GENERIC_THEN_SOC(DECLARATION, API_NAME, DESCRIPTION_STR, PARAMS_LIST, WRAP_API, TAGS_STR)
30 
31  #define RMH_API_IMPLEMENTATION_GENERIC_ONLY(DECLARATION, API_NAME, DESCRIPTION_STR, PARAMS_LIST, WRAP_API, TAGS_STR) \
32  RMH_API_TO_HTML_TOC(__POSTPROC_POUND__##API_NAME, DECLARATION, API_NAME, DESCRIPTION_STR, PARAMS_LIST, WRAP_API, TAGS_STR)
33 
34 #else
35  #define RMH_API_IMPLEMENTATION_GENERIC_ONLY(DECLARATION, API_NAME, DESCRIPTION_STR, PARAMS_LIST, WRAP_API, TAGS_STR)
36 
37  #define RMH_API_IMPLEMENTATION_SOC_ONLY(DECLARATION, API_NAME, DESCRIPTION_STR, PARAMS_LIST, WRAP_API, TAGS_STR) \
38  RMH_API_TO_HTML_TOC(__POSTPROC_POUND__##API_NAME, DECLARATION, API_NAME, DESCRIPTION_STR, PARAMS_LIST, WRAP_API, TAGS_STR)
39 
40  #define RMH_API_IMPLEMENTATION_SOC_THEN_GENERIC(DECLARATION, API_NAME, DESCRIPTION_STR, PARAMS_LIST, WRAP_API, TAGS_STR) \
41  RMH_API_TO_HTML_TOC(__POSTPROC_POUND__##API_NAME, DECLARATION, API_NAME, DESCRIPTION_STR, PARAMS_LIST, WRAP_API, TAGS_STR)
42 
43  #define RMH_API_IMPLEMENTATION_GENERIC_THEN_SOC(DECLARATION, API_NAME, DESCRIPTION_STR, PARAMS_LIST, WRAP_API, TAGS_STR) \
44  RMH_API_TO_HTML_TOC(__POSTPROC_POUND__##API_NAME, DECLARATION, API_NAME, DESCRIPTION_STR, PARAMS_LIST, WRAP_API, TAGS_STR)
45 #endif
46 
47 /* Reinclude API header to print the TOC */
48 #undef RMH_API_H
49 #include "rmh_api.h"