Adding missing header files
[platform/core/appfw/vconf-buxton.git] / src / vconf-buxton-restore-mem-layer.sh
1 #!/bin/bash
2 #
3 #     This script initialize the buxton system layer temp (in memory)
4 #     with values from the system layer base. It searchs the keys of
5 #     prefix memory_init/ and copy their value to memory.
6 #
7 #     See vconf-buxton-backup-mem-layer.sh
8 #
9 # author: jose.bollo@open.eurogiciel.org
10
11 layerdb=base
12 layermem=temp
13 groupdb=vconf
14 groupmem=vconf
15 label=User
16
17 reset=$(printf '\e[0m')
18 red=$(printf '\e[1;31m')
19 green=$(printf '\e[1;32m')
20
21 #
22 # check that buxton service is available
23 #
24 if ! buxtonctl -s check > /dev/null
25 then
26     echo "${red}ERROR: can not connect to buxton service${reset}"
27     exit 1
28 fi
29
30 #
31 # create the group for in memory vconf
32 #
33 if buxtonctl -s list-groups "$layermem" | grep -q "found group $groupmem"
34 then
35     echo "${green}group $groupmem already exists${reset}"
36 elif buxtonctl -s create-group "$layermem" "$groupmem"
37 then
38     echo "${green}group $groupmem succesfully created${reset}"
39 else
40     echo "${red}ERROR: can't create group '$groupmem' for layer '$layermem'${reset}"
41     exit 1
42 fi
43
44 #
45 # Ensure label for the group
46 #
47 if buxtonctl -s set-label "$layermem" "$groupmem" "$label"
48 then
49     echo "${green}group $groupmem succesfully set to label '$label'${reset}"
50 else
51     echo "${red}ERROR: can't set label '$label' to group '$groupmem' for layer '$layermem'${reset}"
52     exit 1
53 fi
54
55
56 buxtonctl -s list-keys "$layerdb" "$groupdb" memory_init/ |
57 sed 's:^found key ::' |
58 while read keydb
59 do
60     keymem=${keydb#memory_init/}
61     if ! q=$(buxtonctl -s get "$layerdb" "$groupdb" "$keydb")
62     then
63         echo "${red}ERROR can't get value of $keydb${reset}"
64     else
65         type=$(echo -n "$q" | sed 's/.* = \([^:]*\): .*/\1/')
66         value=$(echo -n "$q" | sed 's/.* = [^:]*: \(.*\)/\1/')
67         echo -n "${reset}setting $keymem, $type: $value ..."
68         if ! buxtonctl -s -- set-$type "$layermem" "$groupmem" "$keymem" "$value"
69         then
70             echo "${red}ERROR WHILE SETTING VALUE${reset}"
71         elif ! buxtonctl -s set-label "$layermem" "$groupmem" "$keymem" "$label"
72         then
73             echo "${red}ERROR WHILE SETTING LABEL${reset}"
74         else
75             echo "${green}done${reset}"
76         fi
77     fi
78 done
79