Changeset 9136

Show
Ignore:
Timestamp:
01/09/06 11:14:41 (3 years ago)
Author:
piotras
Message:

MidgardConfig? object property's setter
added property 'dbupdate'

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/core/midgard/src/config.c

    r9131 r9136  
    4040        guint loglevel; 
    4141        gboolean dbcreate; 
     42        gboolean dbupdate; 
    4243        FILE  *logfile; 
    4344        gchar *sgadmin; 
     
    7879        MIDGARD_CONFIG_LOGLEVEL, 
    7980        MIDGARD_CONFIG_DBCREATE, 
     81        MIDGARD_CONFIG_DBUPDATE, 
    8082        MIDGARD_CONFIG_LOGFILE, 
    8183        MIDGARD_CONFIG_TESTUNIT, 
     
    8688_midgard_config_set_property (GObject *object, guint property_id, 
    8789                        const GValue *value, GParamSpec *pspec){ 
    88         return; 
     90         
     91        MidgardConfig *self = (MidgardConfig *) object; 
     92 
     93        switch (property_id) { 
     94 
     95                case MIDGARD_CONFIG_DBTYPE: 
     96                        self->private->dbtype = g_value_get_uint (value); 
     97                        break; 
     98 
     99                case MIDGARD_CONFIG_DBNAME: 
     100                        g_free(self->private->dbname); 
     101                        self->private->dbname = g_value_dup_string (value); 
     102                        break; 
     103 
     104                case MIDGARD_CONFIG_DBUSER:  
     105                        g_free(self->private->dbuser); 
     106                        self->private->dbuser = g_value_dup_string (value); 
     107                        break; 
     108 
     109                case MIDGARD_CONFIG_DBPASS: 
     110                        g_free(self->private->dbpass); 
     111                        self->private->dbpass = g_value_dup_string (value); 
     112                        break; 
     113 
     114                case MIDGARD_CONFIG_HOST: 
     115                        g_free(self->private->host); 
     116                        self->private->host = g_value_dup_string (value); 
     117                        break; 
     118 
     119                case MIDGARD_CONFIG_BLOBDIR: 
     120                        g_free(self->private->blobdir); 
     121                        self->private->blobdir = g_value_dup_string (value); 
     122                        break; 
     123 
     124                case MIDGARD_CONFIG_LOGFILENAME: 
     125                        g_free(self->private->logfilename); 
     126                        self->private->logfilename = g_value_dup_string (value); 
     127                        break; 
     128 
     129                case MIDGARD_CONFIG_SCHEMA: 
     130                        g_free(self->private->schemafile); 
     131                        self->private->schemafile = g_value_dup_string (value); 
     132                        break; 
     133 
     134                case MIDGARD_CONFIG_ENCODING: 
     135                        g_free(self->private->encoding); 
     136                        self->private->encoding = g_value_dup_string (value); 
     137                        break; 
     138 
     139                case MIDGARD_CONFIG_LOGLEVEL: 
     140                        self->private->loglevel = g_value_get_uint(value); 
     141                        break; 
     142 
     143                case MIDGARD_CONFIG_DBCREATE: 
     144                        self->private->dbcreate = g_value_get_boolean(value); 
     145                        break; 
     146 
     147                case MIDGARD_CONFIG_DBUPDATE: 
     148                        self->private->dbupdate = g_value_get_boolean(value); 
     149                        break; 
     150 
     151                case MIDGARD_CONFIG_TESTUNIT: 
     152                        self->private->testunit = g_value_get_boolean(value); 
     153                        break; 
     154 
     155                case MIDGARD_CONFIG_LOGHANDLER: 
     156                        self->private->loghandler = g_value_get_boolean(value); 
     157                        break; 
     158 
     159                default: 
     160                        G_OBJECT_WARN_INVALID_PROPERTY_ID(object,property_id,pspec); 
     161                        break; 
     162        }        
    89163} 
    90164 
     
    141215                        break; 
    142216         
     217                case MIDGARD_CONFIG_DBUPDATE: 
     218                        g_value_set_boolean (value, self->private->dbupdate); 
     219                        break; 
     220 
    143221                case MIDGARD_CONFIG_TESTUNIT: 
    144222                        g_value_set_boolean (value, self->private->testunit); 
     
    299377                        pspec); 
    300378 
     379        pspec = g_param_spec_boolean("dbupdate", 
     380                        "", 
     381                        "Database update switch", 
     382                        FALSE, G_PARAM_READABLE); 
     383        g_object_class_install_property (gobject_class, 
     384                        MIDGARD_CONFIG_DBUPDATE, 
     385                        pspec); 
     386 
    301387        pspec = g_param_spec_boolean("testunit", 
    302388                        "", 
     
    528614        mdirs *iconf; 
    529615        const gchar *fname = NULL; 
    530         gchar  *testunit, *tmpstr, *dbcreate
     616        gchar  *testunit, *tmpstr, *dbcreate, *dbupdate
    531617        gpointer ftest; 
    532618        GHashTable *chash; 
     
    617703                dbcreate = "no"; 
    618704 
     705        /* Get database update mode */ 
     706        if ((dbupdate = g_hash_table_lookup(chash, "Dbupdate")) == NULL) 
     707                dbupdate = "no";         
     708 
    619709        /* Get SG admin username */ 
    620710        if ((tmpstr = g_hash_table_lookup(chash, "SGadmin")) == NULL) 
     
    631721                testunit = "no"; 
    632722         
     723        /* Set boolean from dbcreate value string */ 
    633724        self->private->dbcreate = FALSE;  
    634725        tmpstr = g_ascii_strdown(dbcreate, -1); 
     
    637728        g_free(tmpstr); 
    638729 
     730        /* Set boolean from testunit value string */ 
    639731        self->private->testunit = FALSE; 
    640732        tmpstr = g_ascii_strdown(testunit, -1); 
    641733        if(g_str_equal(tmpstr, "yes")) 
    642734                self->private->testunit = TRUE; 
    643         g_free(tmpstr);                    
     735        g_free(tmpstr);                   
     736 
     737        /* Set boolean from dbupdate value string */ 
     738        self->private->dbupdate = FALSE; 
     739        tmpstr = g_ascii_strdown(dbupdate, -1); 
     740        if(g_str_equal(tmpstr, "yes")) 
     741                self->private->dbupdate = TRUE; 
     742        g_free(tmpstr); 
    644743 
    645744        mgd_init_ex(self->private->loglevel, self->private->logfilename);