Gsettings: Difference between revisions
No edit summary |
No edit summary |
||
Line 5: | Line 5: | ||
GSettings on rakendusliides, mis võimaldab mugavalt salvestada ja väljavõtta rakendus seadeid. | GSettings on rakendusliides, mis võimaldab mugavalt salvestada ja väljavõtta rakendus seadeid. | ||
Loeb ja kirjutab, ning võib pidada mitte-blokeeruvaks. Lugemine '''GSettings-us''' on väga kiire: on ligikaudu samas suurusjärgus (kuid aeglasem) kui '''GHashTable''' otsing. Kirjutamine on ka väga kiire | Loeb ja kirjutab, ning võib pidada mitte-blokeeruvaks. Lugemine '''GSettings-us''' on väga kiire: on ligikaudu samas suurusjärgus (kuid aeglasem) kui '''GHashTable''' otsing. Kirjutamine on ka väga kiire juhtudel kui on vaja tagasi tuua eelnevalt salvestatud rakendusi, kuid võib olla ka väga kallis. Paljud seaded taustaprogrammid (sh dconf) on laisk lähtestamine mis tähendab ühises asjas kasutaja kasutades oma arvuti muutmata mingeid seadeid palju tööd saab vältida. Sest dconf, D-Busi teenust ei pea isegi alustada sel juhul. Sel põhjusel, siis peaks ainult kunagi muuta GSettings võtmed vastuseks selgesõnalise kasutaja tegevust. Erilist tähelepanu tuleb pöörata, et tagada muudatusi ei tehtud käivitamise ajal - näiteks määramisel algväärtus soodustuste vidinad. Sisseehitatud g_settings_bind () funktsioon on ettevaatlikud, et mitte kirjutada seaded vastuseks teatama signaalide tõttu muudatusi, et see annab vidinad. | ||
Kui loote GSettings Näiteks sul määrata skeemi, mis kirjeldab võtmed oma seadeid ja nende tüübid ja vaikeväärtused, samuti mõned muud andmed. | Kui loote GSettings Näiteks sul määrata skeemi, mis kirjeldab võtmed oma seadeid ja nende tüübid ja vaikeväärtused, samuti mõned muud andmed. |
Revision as of 23:32, 2 December 2012
GSettings - on kõrgetasemeline rakendusliides, rakenduste jaoks.
Kirjeldus
GSettings on rakendusliides, mis võimaldab mugavalt salvestada ja väljavõtta rakendus seadeid.
Loeb ja kirjutab, ning võib pidada mitte-blokeeruvaks. Lugemine GSettings-us on väga kiire: on ligikaudu samas suurusjärgus (kuid aeglasem) kui GHashTable otsing. Kirjutamine on ka väga kiire juhtudel kui on vaja tagasi tuua eelnevalt salvestatud rakendusi, kuid võib olla ka väga kallis. Paljud seaded taustaprogrammid (sh dconf) on laisk lähtestamine mis tähendab ühises asjas kasutaja kasutades oma arvuti muutmata mingeid seadeid palju tööd saab vältida. Sest dconf, D-Busi teenust ei pea isegi alustada sel juhul. Sel põhjusel, siis peaks ainult kunagi muuta GSettings võtmed vastuseks selgesõnalise kasutaja tegevust. Erilist tähelepanu tuleb pöörata, et tagada muudatusi ei tehtud käivitamise ajal - näiteks määramisel algväärtus soodustuste vidinad. Sisseehitatud g_settings_bind () funktsioon on ettevaatlikud, et mitte kirjutada seaded vastuseks teatama signaalide tõttu muudatusi, et see annab vidinad.
Kui loote GSettings Näiteks sul määrata skeemi, mis kirjeldab võtmed oma seadeid ja nende tüübid ja vaikeväärtused, samuti mõned muud andmed.
Tavaliselt skeem on fikseeritud tee, mis määrab, kuhu seaded salvestatakse kontseptuaalse maailma puust seaded. Kuid skeeme saab ka "relocatable", st ei ole varustatud fikseeritud tee. See on kasulik näiteks kui skeem kirjeldab "konto", ja sa tahad olla võimalik salvestada suvalise arvu kontosid.
Erinevalt teistest konfiguratsiooni süsteemid (nagu GConf), GSettings ei piira võtmed põhitüüpi nagu stringid ja numbrid. GSettings salvestab väärtused nagu GVariant, ja võimaldab igal GVariantType võtmeid. Key nimed on piiratud väiketähed, numbrid ja "-". Lisaks nimed peavad algama väiketäheks, ei tohi lõppeda '-', ja ei tohi sisaldada järjestikusel kriipsud.
Sarnaselt GConf, vaikeväärtusi GSettings skeeme saab lokaliseerida, kuid lokaliseeritud väärtused salvestatakse gettext kataloogid ja vaatas üles koos domeeni, mis on kirjas gettext-domeeni atribuut <schemalist> või <schema> elemendid ja kategooria, mis on täpsustatud l10n atribuut <key> element.
GSettings kasutab skeemid kompaktne kahendvormis, mis on loodud libe-compile-skeeme kasulikkust. Sisend on skeemi kirjeldus XML-vormingus, mida võib kirjeldada järgmise DTD:
Marek Lepla A32