Merge remote-tracking branch 'origin/master' into wheelsource
[profile/ivi/automotive-message-broker.git] / plugins / dbus / properties.h
1 /*
2         Copyright (C) 2012  Intel Corporation
3
4         This library is free software; you can redistribute it and/or
5         modify it under the terms of the GNU Lesser General Public
6         License as published by the Free Software Foundation; either
7         version 2.1 of the License, or (at your option) any later version.
8
9         This library is distributed in the hope that it will be useful,
10         but WITHOUT ANY WARRANTY; without even the implied warranty of
11         MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12         Lesser General Public License for more details.
13
14         You should have received a copy of the GNU Lesser General Public
15         License along with this library; if not, write to the Free Software
16         Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
17 */
18
19 #ifndef _PROPERTIES_H_H_H_
20 #define _PROPERTIES_H_H_H_
21
22 #include "dbusplugin.h"
23 #include "abstractdbusinterface.h"
24
25 class VehicleSpeedProperty: public AbstractDBusInterface, public DBusSink
26 {
27 public:
28         AccelerationPropertyInterface(AbstractRoutingEngine* re, GDBusConnection* connection)
29                 :AbstractDBusInterface("org.automotive.acceleration","/org/automotive/acceleration", connection),
30                   DBusSink(re)
31         {
32                 supportedChanged(re->supported());
33         }
34
35         void supportedChanged(PropertyList supportedProperties)
36         {
37                 for(PropertyDBusMap itr = propertyDBusMap.begin(); itr != propertyDBusMap.end(); itr++)
38                 {
39                         if(ListPlusPlus<VehicleProperty::Property>(&supportedProperties).contains((*itr)))
40                         {
41                                 routingEngine->subscribeToProperty((*itr), this);
42
43                         }
44                 }
45         }
46 };
47
48 #endif