diff options
Diffstat (limited to '')
-rw-r--r-- | src/unstable/settingsdrivertaf.cpp | 148 |
1 files changed, 74 insertions, 74 deletions
diff --git a/src/unstable/settingsdrivertaf.cpp b/src/unstable/settingsdrivertaf.cpp index 8cbcbc5..3fd61b3 100644 --- a/src/unstable/settingsdrivertaf.cpp +++ b/src/unstable/settingsdrivertaf.cpp | |||
@@ -6,97 +6,97 @@ | |||
6 | #include <stdlib.h> | 6 | #include <stdlib.h> |
7 | 7 | ||
8 | Bu::SettingsDriverTaf::SettingsDriverTaf() : | 8 | Bu::SettingsDriverTaf::SettingsDriverTaf() : |
9 | pRoot( NULL ) | 9 | pRoot( NULL ) |
10 | { | 10 | { |
11 | } | 11 | } |
12 | 12 | ||
13 | Bu::SettingsDriverTaf::~SettingsDriverTaf() | 13 | Bu::SettingsDriverTaf::~SettingsDriverTaf() |
14 | { | 14 | { |
15 | if( !pRoot ) | 15 | if( !pRoot ) |
16 | return; | 16 | return; |
17 | 17 | ||
18 | Bu::File fOut( sPath, Bu::File::WriteNew ); | 18 | Bu::File fOut( sPath, Bu::File::WriteNew ); |
19 | Bu::TafWriter tw( fOut ); | 19 | Bu::TafWriter tw( fOut ); |
20 | tw.writeGroup( pRoot ); | 20 | tw.writeGroup( pRoot ); |
21 | delete pRoot; | 21 | delete pRoot; |
22 | } | 22 | } |
23 | 23 | ||
24 | void Bu::SettingsDriverTaf::init( const Bu::UtfString &sCompany, | 24 | void Bu::SettingsDriverTaf::init( const Bu::UtfString &sCompany, |
25 | const Bu::UtfString &sProduct ) | 25 | const Bu::UtfString &sProduct ) |
26 | { | 26 | { |
27 | Bu::UtfString us( getenv("HOME") ); | 27 | Bu::UtfString us( getenv("HOME") ); |
28 | us += "/.config/"; | 28 | us += "/.config/"; |
29 | us += sCompany; | 29 | us += sCompany; |
30 | us += "/"; | 30 | us += "/"; |
31 | us += sProduct; | 31 | us += sProduct; |
32 | sPath = us.get(); | 32 | sPath = us.get(); |
33 | try | 33 | try |
34 | { | 34 | { |
35 | Bu::File fIn( sPath, Bu::File::Read|Bu::File::Create ); | 35 | Bu::File fIn( sPath, Bu::File::Read|Bu::File::Create ); |
36 | Bu::TafReader tr( fIn ); | 36 | Bu::TafReader tr( fIn ); |
37 | pRoot = tr.readGroup(); | 37 | pRoot = tr.readGroup(); |
38 | } | 38 | } |
39 | catch(...) | 39 | catch(...) |
40 | { | 40 | { |
41 | } | 41 | } |
42 | if( !pRoot ) | 42 | if( !pRoot ) |
43 | { | 43 | { |
44 | pRoot = new Bu::TafGroup( sProduct.get() ); | 44 | pRoot = new Bu::TafGroup( sProduct.get() ); |
45 | } | 45 | } |
46 | } | 46 | } |
47 | 47 | ||
48 | void Bu::SettingsDriverTaf::set( const Bu::UtfString &sKey, | 48 | void Bu::SettingsDriverTaf::set( const Bu::UtfString &sKey, |
49 | const Bu::UtfString &sValue ) | 49 | const Bu::UtfString &sValue ) |
50 | { | 50 | { |
51 | Bu::StringList lPath = sKey.get().split('/'); | 51 | Bu::StringList lPath = sKey.get().split('/'); |
52 | Bu::StringList::iterator i = lPath.begin(); | 52 | Bu::StringList::iterator i = lPath.begin(); |
53 | Bu::StringList::iterator in; | 53 | Bu::StringList::iterator in; |
54 | Bu::TafGroup *pGrp = pRoot; | 54 | Bu::TafGroup *pGrp = pRoot; |
55 | for(; i;) | 55 | for(; i;) |
56 | { | 56 | { |
57 | in = i; | 57 | in = i; |
58 | in++; | 58 | in++; |
59 | if( in ) | 59 | if( in ) |
60 | { | 60 | { |
61 | if( pGrp->hasChild( *i ) ) | 61 | if( pGrp->hasChild( *i ) ) |
62 | pGrp = (Bu::TafGroup *)pGrp->getChild( *i ); | 62 | pGrp = (Bu::TafGroup *)pGrp->getChild( *i ); |
63 | else | 63 | else |
64 | pGrp = pGrp->addGroup( *i ); | 64 | pGrp = pGrp->addGroup( *i ); |
65 | } | 65 | } |
66 | else | 66 | else |
67 | { | 67 | { |
68 | pGrp->addProperty( *i, sValue.get() ); | 68 | pGrp->addProperty( *i, sValue.get() ); |
69 | } | 69 | } |
70 | i = in; | 70 | i = in; |
71 | } | 71 | } |
72 | } | 72 | } |
73 | 73 | ||
74 | Bu::UtfString Bu::SettingsDriverTaf::get( const Bu::UtfString &sKey, | 74 | Bu::UtfString Bu::SettingsDriverTaf::get( const Bu::UtfString &sKey, |
75 | const Bu::UtfString &sValue ) | 75 | const Bu::UtfString &sValue ) |
76 | { | 76 | { |
77 | Bu::StringList lPath = sKey.get().split('/'); | 77 | Bu::StringList lPath = sKey.get().split('/'); |
78 | Bu::StringList::iterator i = lPath.begin(); | 78 | Bu::StringList::iterator i = lPath.begin(); |
79 | Bu::StringList::iterator in; | 79 | Bu::StringList::iterator in; |
80 | Bu::TafGroup *pGrp = pRoot; | 80 | Bu::TafGroup *pGrp = pRoot; |
81 | for(; i;) | 81 | for(; i;) |
82 | { | 82 | { |
83 | in = i; | 83 | in = i; |
84 | in++; | 84 | in++; |
85 | if( in ) | 85 | if( in ) |
86 | { | 86 | { |
87 | if( pGrp->hasChild( *i ) ) | 87 | if( pGrp->hasChild( *i ) ) |
88 | pGrp = (Bu::TafGroup *)pGrp->getChild( *i ); | 88 | pGrp = (Bu::TafGroup *)pGrp->getChild( *i ); |
89 | else | 89 | else |
90 | return sValue; | 90 | return sValue; |
91 | } | 91 | } |
92 | else | 92 | else |
93 | { | 93 | { |
94 | if( pGrp->hasProperty( *i ) ) | 94 | if( pGrp->hasProperty( *i ) ) |
95 | return pGrp->getProperty( *i ); | 95 | return pGrp->getProperty( *i ); |
96 | else | 96 | else |
97 | return sValue; | 97 | return sValue; |
98 | } | 98 | } |
99 | i = in; | 99 | i = in; |
100 | } | 100 | } |
101 | } | 101 | } |
102 | 102 | ||