summaryrefslogtreecommitdiffstats
path: root/nsframework/framework_unified/client/NS_XMLConfigeParser/library/include/ns_config_parser_cfg.h
blob: 6dcf11ad2af662c1602c5261cc84369589f33a6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
/*
 * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

//////////////////////////////////////////////////////////////////////////////////////////////////
/// \ingroup MY 14 Platform Software Team
/// \brief   Internal Header for ns_config_parser_cfg.c
///
///  These functions are used to read  from and write to cfg file.
///
///
//////////////////////////////////////////////////////////////////////////////////////////////////

#ifndef FRAMEWORK_UNIFIED_CLIENT_NS_XMLCONFIGEPARSER_LIBRARY_INCLUDE_NS_CONFIG_PARSER_CFG_H_
#define FRAMEWORK_UNIFIED_CLIENT_NS_XMLCONFIGEPARSER_LIBRARY_INCLUDE_NS_CONFIG_PARSER_CFG_H_

#ifdef __cplusplus
extern "C" {
#endif

///////////////////////////////////////////////////////////////////////////////
// Include Files
///////////////////////////////////////////////////////////////////////////////
#include <ns_config_parser_internal.h>
////////////////////////////////////////////////////////////////////////////////////////////
/// CFGGetValue:
/// Function : Traverse cfg file and read value corresponding to key.
///
/// \param [in] filePtr
///       FILE * - filePtr is a Pointer to a file descriptor.
/// \param [in] pKey
///       const char * -pKey is a Pointer to user key.
/// \param [in] pRetValue
///       char *  - pRetValue is a Pointer to value or values to be returned corresponding to user key.
/// \return status
///       int  - value returned depending upon user provided Key is valid or not.\n
///       returns 1 if user passed invalid key.\n
///       returns 0 if user passed valid key.\n
///
///////////////////////////////////////////////////////////////////////////////////////////
int CFGGetValue(FILE *file_ptr, const char *p_key, char *p_ret_value);

////////////////////////////////////////////////////////////////////////////////////////////
/// CFGUpdateOldValue:
/// Function : Traverse the cfg file and update the value corresponding to given key.
///
/// \param [in] hConfigFile
///       HANDLE       - hConfigFile is a handle to given file.
/// \param [in] pKey
///       const char * - pKey is a Pointer to user key.
/// \param [in] pValue
///       const char * - pValue is a Pointer to new value corresponding to user key.
/// \return status
///       int - returns 1 if user passed invalid key.\n
///             returns 0 if user passed valid key.\n
///                   returns -1 if memory allocation fail.\n
///             returns -6 if value not updated in file.\n
///
///////////////////////////////////////////////////////////////////////////////////////////
int  CFGUpdateOldValue(HANDLE h_config_file, const char *p_key, const char *p_value);

////////////////////////////////////////////////////////////////////////////////////////////
/// CFGUpdateOldValueWithNewValue
/// Function : Traverse the cfg file read value to given node,compare with old value,\n
///            if old value matched then write new value in place of old value.\n
///
/// \param [in] hConfigFile
///       HANDLE       - hConfigFile is a handle to given file.
/// \param [in] pKey
///       const char * - pKey is a Pointer to user key.
/// \param [in] pOldValue
///       const char * - pOldValue is a Pointer to Old Value corresponding to user key.
/// \param [in] pNewValue
///       const char * - pNewValue is a Pointer to New Value corresponding to user key.
/// \return status
///       int - returns 1 if user passed invalid key.\n
///             returns 0 if user passed valid key.\n
///                   returns -1 if memory allocation fail.\n
///             returns -6 if value not updated in file.\n
///
///////////////////////////////////////////////////////////////////////////////////////////

int  CFGUpdateOldValueWithNewValue(HANDLE h_config_file, const char *p_key,
                                   const char *p_old_value, const char *p_new_value);

#ifdef __cplusplus
extern "C" {
#endif

#endif  // FRAMEWORK_UNIFIED_CLIENT_NS_XMLCONFIGEPARSER_LIBRARY_INCLUDE_NS_CONFIG_PARSER_CFG_H_

// EOF