blob: e93c06e88e617da2e2430285b5afe2535fc3ee3c (
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
|
#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 <dbus/dbus.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);
//DBusHandlerResult checkPersAdminSignal(DBusConnection * connection, DBusMessage * message, void * user_data);
int signal_persModeChange(DBusConnection *connection, DBusMessage *message);
/// synchronize data back to memory device
int pers_data_sync(void);
/// 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);
/// block persistence access and write data back to device
void process_block_and_write_data_back(unsigned int requestID);
/**
* @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 */
|