Added ref counter for init/deinit; updated header doxygen tags; removed several print...
[profile/ivi/persistence-client-library.git] / include / persistence_client_library.h
1 #ifndef PERSISTENCY_CLIENT_LIBRARY_H
2 #define PERSISTENCY_CLIENT_LIBRARY_H
3
4 /******************************************************************************
5  * Project         Persistency
6  * (c) copyright   2011
7  * Company         XS Embedded GmbH
8  *****************************************************************************/
9 /******************************************************************************
10  * This Source Code Form is subject to the terms of the
11  * Mozilla Public License, v. 2.0. If a  copy of the MPL was not distributed
12  * with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
13 ******************************************************************************/
14  /**
15  * \file           persistence_client_library_key.h
16  * \ingroup        Persistence client library
17  * \author         Ingo Huerner (XSe) / Guy Sagnes (Continental)
18  * \brief          Header of the persistence client library.
19  *                 Library provides an API to access persistent data
20  * \par change history
21  * Date     Author          Version
22  * 25/06/13 Ingo Hürner     1.0.0 - Rework of Init functions
23  *
24  */
25 /** \ingroup GEN_PERS */
26 /** \defgroup PERS_CLIENT Client: initialisation access
27  *  \{
28  */
29 /** \defgroup PERS_CLIENT_INTERFACE API document
30  *  \{
31  */
32
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36
37 /** \defgroup PCL_DEFINES_API Defines, Struct, Enum
38  * \{
39  */
40
41 #define  PERSIST_API_INTERFACE_VERSION   (0x01000000U)
42
43 /** \} */
44
45
46 /** \defgroup PCL_OVERALL functions for Library Initialisation
47  * The following functions have to be called to allow intialisation of the internal interfaces.
48  * \{
49  */
50
51 /**
52  * @brief initalize client library
53  *
54  * @attention This function is currently  N O T  part of the GENIVI compliance specification
55  *
56  * @param appname application name, the name must be a unique name in the system
57  * @param shutdownMode shutdown mode ::PCL_SHUTDOWN_TYPE_FAST or ::PCL_SHUTDOWN_TYPE_NORMAL
58  *
59  * @return positive value: success;
60  *   On error a negative value will be returned with th follwoing error codes:
61  *   ::EPERS_LOCKFS, ::EPERS_NOT_INITIALIZED
62  */
63 int pclInitLibrary(const char* appname, int shutdownMode);
64
65
66 /**
67  * @brief deinitialize client library
68  *
69  * @attention This function is currently  N O T  part of the GENIVI compliance specification
70  *
71  * @return positive value: success;
72  *   On error a negative value will be returned with th follwoing error codes: ::EPERS_LOCKFS
73  */
74 int pclDeinitLibrary(void);
75
76 /** \} */
77
78 /** \} */ /* End of API */
79 /** \} */ /* End of MODULE */
80
81 #endif /* PERSISTENCY_CLIENT_LIBRARY_H */