-
Notifications
You must be signed in to change notification settings - Fork 0
/
readme
executable file
·82 lines (56 loc) · 3.52 KB
/
readme
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
debug release!
Profile Manager and Profile Manager Test are my extensions/rework of the Martin Leisener PoC
Most of needed info can be found here:
https://collab.genivi.org/wiki/display/genivi/SysInfraEGUserMgmtPersProfileManagerPOC
https://collab.genivi.org/wiki/display/genivi/SysInfraEGUserMgtPersonalizationDef#SysInfraEGUserMgtPersonalizationDef-Migration
https://collab.genivi.org/wiki/display/genivi/SysInfraEGUserMgmtPersProfileManager
Profile Manager is currently utilizing:
CommonAPI Dbus communication generated via Franca code generation from .fidl files,
Async communication,
Simple timeout mechanisms,
set and unset User,
register and unregister User,
Profile Manager Test runs a test sequence:
please use Sdedit software to view results (just copy paste results into soft downloaded from: http://sdedit.sourceforge.net/)
If a test sequence for some reasons freezes, rerun it :)
### BUILD AND RUN ###
To build go to the directory workspace_profilemanager and run a script "cmake_script.sh" (newest version of the cmake may be needed).
In the directory "workspace_profilemanager/exec" you will find both executables (PM and PMTest), to run simply execute both execs.
Profile Manager uses commonAPI version 2.1.4, it is not working with previous versions. During commonAPI update remmeber to once again patch common-api-c++-dbus (for safety remove your dbus-1.4.16 and download/unpack it once again, do the patching, than install it).
if you use pkgconfig please check if you have neccessary .pc files (CommonAPI.pc CommonAPI-DBus.pc dbus-1.pc) inside locations /usr/local/lib/pkgconfig/ and /usr/share/pkgconfig/
If you have an error during runtime, execute this command before starting the PM: export LD_LIBRARY_PATH="/usr/local/lib/"
If you still have an error during runtime check if you have a config file in a directory with the ProfileManager exec (a config file is currently generated by the ProfileManagerTest)
### Common API ###
Profile Manager uses commonAPI version 2.1.4
Common API specification:
https://collab.genivi.org/wiki/display/genivi/SysInfraEGCppCommonAPISpecification
Common API instalation (Very old guide ....):
https://collab.genivi.org/wiki/display/genivi/SysInfraEGCommonIDLCommonAPIGuide
If you have problem with the CommonAPI, mail me, I will try to help you :)
### Eclipse config ###
Below I've written my Eclipse settings, I hope it will help you.
I use the Eclipse Kepler (most recent version) with CDT and gcc v4.8 configured as following:
compiler:
g++ -pthread -std=c++11
in GCC C++ Compiler>Includes
/usr/local/include/CommonAPI-2.1
/usr/local/include/dbus-1.0
/usr/local/lib/dbus-1.0/include
"${workspace_loc:/${ProjName}/include}"
"${workspace_loc:/${ProjName}/src-gen}"
"${workspace_loc:/ProfileManager/src}" #OR# "${workspace_loc:/ProfileManagerTest/src}
linker:
g++ -pthread -std=c++11 -L/usr/local/lib
Libraries:
CommonAPI
CommonAPI-DBus
dbus-1
pthread
For ProfileManager and ProfileManagerTest create separate projects (with similar config).
First start ProfileManager, than ProfileManagerTest. The test results are in output of the ProfileManagerTest - copy paste it into the sdedit to visualize results.
If the code builds, but you have error during run you have to:
before running Eclipse (each time!) write commands
export LD_LIBRARY_PATH="/usr/local/lib/"
~/Downloads/eclipse/eclipse #(or your path to eclipse)
ProfileManager needs a proper config, currently the config file is generated by the ProfileManagerTest.
Please copy this config mannualy to the same folder where is ProfileManager executable