Add:Core:Added possibility for custom logs
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Tue, 1 Sep 2009 12:39:26 +0000 (12:39 +0000)
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Tue, 1 Sep 2009 12:39:26 +0000 (12:39 +0000)
git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@2540 ffa7fe5e-494d-0410-b361-a75ebd5db220

navit/navit/attr_def.h
navit/navit/vehicle.c

index a3a437e..72d3648 100644 (file)
@@ -328,6 +328,8 @@ ATTR2(0x000b0000,type_callback_begin)
 ATTR(resize)
 ATTR(motion)
 ATTR(keypress)
+ATTR(log_gpx)
+ATTR(log_textfile)
 ATTR2(0x000bffff,type_callback_end)
 ATTR2(0x000c0000,type_int64_begin)
 ATTR(osm_nodeid)
index 8b4f477..45282f1 100644 (file)
@@ -90,10 +90,10 @@ vehicle_log_gpx(struct vehicle *this_, struct log *log)
        }
        if (!strcmp(extensions,"")) {
                logstr=g_strconcat_printf(logstr,"\t</extensions>\n");
-               
        }
        logstr=g_strconcat_printf(logstr,"</trkpt>\n");
-       log_printf(log,"%s",logstr);
+       callback_list_call_attr_1(this_->cbl, attr_log_gpx, &logstr);
+       log_write(log, logstr, strlen(logstr));
        g_free(logstr);
 }
 
@@ -101,13 +101,14 @@ static void
 vehicle_log_textfile(struct vehicle *this_, struct log *log)
 {
        struct attr pos_attr;
-       char buffer[256];
+       char *logstr;
        if (!this_->meth.position_attr_get)
                return;
        if (!this_->meth.position_attr_get(this_->priv, attr_position_coord_geo, &pos_attr))
                return;
-       sprintf(buffer,"%f %f type=trackpoint\n", pos_attr.u.coord_geo->lng, pos_attr.u.coord_geo->lat);
-       log_write(log, buffer, strlen(buffer));
+       logstr=g_strdup_printf("%f %f type=trackpoint\n", pos_attr.u.coord_geo->lng, pos_attr.u.coord_geo->lat);
+       callback_list_call_attr_1(this_->cbl, attr_log_textfile, &logstr);
+       log_write(log, logstr, strlen(logstr));
 }
 
 static int