summaryrefslogtreecommitdiff
path: root/test/persistence_client_library_dbus_test.c
blob: dae3bc25b0a43a4f174001e0628e7e2b9a55a5e1 (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
/******************************************************************************
 * 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_dbus_test.c
 * @ingroup        Persistence client library test
 * @author         Ingo Huerner
 * @brief          Test of persistence client library
 * @see            
 */

#include "../include/persistence_client_library_key.h"
#include "../include/persistence_client_library_file.h"
#include "../include/persistence_client_library_error_def.h"

#include <stdio.h>

#include <dlt/dlt.h>
#include <dlt/dlt_common.h>


int myChangeCallback(pclNotification_s * notifyStruct)
{
   printf(" ==> * - * myChangeCallback * - *\n");

   printf("Notification received ==> lbid: %d | resource_id: %s | seat: %d | user: %d | status: %d \n", notifyStruct->ldbid,
         notifyStruct->resource_id,
         notifyStruct->seat_no,
         notifyStruct->user_no,
         notifyStruct->pclKeyNotify_Status );

   printf(" <== * - * myChangeCallback * - *\n");

   return 1;
}


int main(int argc, char *argv[])
{
   int ret = 0;
   unsigned int shutdownReg = PCL_SHUTDOWN_TYPE_FAST | PCL_SHUTDOWN_TYPE_NORMAL;

   printf("Dbus interface test application\n");

   /// debug log and trace (DLT) setup
   DLT_REGISTER_APP("noty","tests the persistence client library");
   ret = pclInitLibrary("lt-persistence_client_library_test", shutdownReg);
   printf("pclInitLibrary: %d\n", ret);

   printf("Press a key to end application\n");
   ret = pclKeyHandleOpen(PCL_LDBID_LOCAL, "posHandle/last_position", 0, 0);

   printf("Register for change notification\n");
   ret = pclKeyRegisterNotifyOnChange(0x20, "links/last_link2", 2/*user_no*/, 1/*seat_no*/, &myChangeCallback);
   ret = pclKeyRegisterNotifyOnChange(0x20, "links/last_link3", 3/*user_no*/, 2/*seat_no*/, &myChangeCallback);
   ret = pclKeyRegisterNotifyOnChange(0x20, "links/last_link4", 4/*user_no*/, 1/*seat_no*/, &myChangeCallback);

   ret = pclKeyRegisterNotifyOnChange(PCL_LDBID_LOCAL, "69",     1/*user_no*/, 2/*seat_no*/, &myChangeCallback);
   printf("Reg => 69: %d\n", ret);
   ret = pclKeyRegisterNotifyOnChange(PCL_LDBID_LOCAL, "70",     1/*user_no*/, 2/*seat_no*/, &myChangeCallback);
   printf("Reg => 70: %d\n", ret);
   ret = pclKeyRegisterNotifyOnChange(PCL_LDBID_LOCAL, "key_70", 1/*user_no*/, 2/*seat_no*/, &myChangeCallback);
   printf("Reg => key_70: %d\n", ret);


   printf("Press enter to unregister to notifications\n");
   getchar();

   ret = pclKeyUnRegisterNotifyOnChange(0x20, "links/last_link2", 2/*user_no*/, 1/*seat_no*/, &myChangeCallback);
   ret = pclKeyUnRegisterNotifyOnChange(0x20, "links/last_link3", 3/*user_no*/, 2/*seat_no*/, &myChangeCallback);
   ret = pclKeyUnRegisterNotifyOnChange(0x20, "links/last_link4", 4/*user_no*/, 1/*seat_no*/, &myChangeCallback);

   printf("Press enter to register to notifications\n");
   getchar();

   ret = pclKeyRegisterNotifyOnChange(0x20, "links/last_link2", 2/*user_no*/, 1/*seat_no*/, &myChangeCallback);
   ret = pclKeyRegisterNotifyOnChange(0x20, "links/last_link3", 3/*user_no*/, 2/*seat_no*/, &myChangeCallback);
   ret = pclKeyRegisterNotifyOnChange(0x20, "links/last_link4", 4/*user_no*/, 1/*seat_no*/, &myChangeCallback);

   printf("Press enter to end\n");
   getchar();

   sleep(2);
   pclDeinitLibrary();


   // unregister debug log and trace
   DLT_UNREGISTER_APP();

   dlt_free();

   printf("By\n");
   return ret;
}