added DatabaseLogging property. still needs more completion.
authorKevron Rees <kevron_m_rees@linux.intel.com>
Mon, 17 Dec 2012 21:09:48 +0000 (13:09 -0800)
committerKevron Rees <kevron_m_rees@linux.intel.com>
Mon, 17 Dec 2012 21:15:16 +0000 (13:15 -0800)
plugins/database/databasesink.cpp
plugins/database/databasesink.h
plugins/obd2plugin/obd2source.cpp

index 5b20173..85c751d 100644 (file)
@@ -27,6 +27,7 @@ DatabaseSink::DatabaseSink(AbstractRoutingEngine *engine, map<std::string, std::
 
                        if( obj->quit )
                        {
+                               delete obj;
                                break;
                        }
 
@@ -87,6 +88,7 @@ PropertyList DatabaseSink::supported()
 
        props.push_back(VehicleProperty::EngineSpeed);
        props.push_back(VehicleProperty::VehicleSpeed);
+       props.push_back(DatabaseLoggingProperty);
 
        return props;
 }
@@ -217,6 +219,15 @@ AsyncPropertyReply *DatabaseSink::setProperty(AsyncSetPropertyRequest request)
 {
        AsyncPropertyReply* reply = new AsyncPropertyReply(request);
        reply->success = false;
+
+       if(request.property == DatabaseLoggingProperty)
+       {
+               if(request.value->value<bool>())
+               {
+                       ///TODO: start or stop logging thread
+               }
+       }
+
        return reply;
 }
 
index 8311773..c41017c 100644 (file)
@@ -26,6 +26,8 @@
 
 #include <glib.h>
 
+#define DatabaseLoggingProperty "DatabaseLogging"
+
 template <typename T>
 class Queue
 {
@@ -148,6 +150,7 @@ public:
        :AbstractSinkManager(engine, config)
        {
                new DatabaseSink(routingEngine, config);
+               VehicleProperty::registerProperty(DatabaseLoggingProperty, [](){return new BasicPropertyType<bool>(false);});
        }
 };
 
index 6d98953..53442a9 100644 (file)
@@ -586,6 +586,8 @@ OBD2Source::OBD2Source(AbstractRoutingEngine *re, map<string, string> config)
                m_supportedProperties.push_back((*itr)->property);
        }
 
+       m_supportedProperties.push_back(Obd2Connect);
+
        re->setSupported(supported(), this);
        /*if (openPort(std::string("/dev/pts/7"),115200))
        {