summaryrefslogtreecommitdiff
path: root/src/persistence_client_library_pas_interface.h
blob: 617ca79df8a0a27d4ba172b3f4f6e8c1517807ed (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
#ifndef PERSISTENCE_CLIENT_LIBRARY_PAS_INTERFACE_H
#define PERSISTENCE_CLIENT_LIBRARY_PAS_INTERFACE_H

/******************************************************************************
 * Project         Persistency
 * (c) copyright   2012
 * Company         XS Embedded GmbH
 *****************************************************************************/
/******************************************************************************
 * This Source Code Form is subject to the terms of the
 * Mozilla Public License, v. 2.0. If a  copy of the MPL was not distributed
 * with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
******************************************************************************/
 /**
 * @file           persistence_client_library_pas_interface.h
 * @ingroup        Persistence client library
 * @author         Ingo Huerner
 * @brief          Definition of the persistence client library persistence
 *                 administration service interface.
 * @see
 */

#include "persistence_client_library_dbus_service.h"


/**
 * @brief Check if a org.genivi.persistence.admin message has been received
 *
 * @param connection the debus connection
 * @param message the dbus message
 * @param user_data data handed over to this function
 *
 * @return DBUS_HANDLER_RESULT_HANDLED or DBUS_HANDLER_RESULT_NOT_YET_HANDLED
 */
DBusHandlerResult checkPersAdminMsg(DBusConnection * connection, DBusMessage * message, void * user_data);


/// lock access to persistence data
void pers_lock_access(void);


/// unlock access to persistent data
void pers_unlock_access(void);


/**
 * @brief check if access to persistent data is locked
 *
 * @return 1 if access is locked, 0 if access is possible
 */
int isAccessLocked(void);



/**
 * @brief send registration message 'RegisterPersAdminNotification' to org.genivi.persistence.admin
 *
 * @return 0 on success or -1 on error
 */
int register_pers_admin_service(void);


/**
 * @brief send registration message 'UnRegisterPersAdminNotification' to org.genivi.persistence.admin
 *
 * @return 0 on success or -1 on error
 */
int unregister_pers_admin_service(void);


#endif /* PERSISTENCE_CLIENT_LIBRARY_PAS_INTERFACE_H */