Merge branch 'master' of https://github.com/otcshare/automotive-message-broker
[profile/ivi/automotive-message-broker.git] / plugins / exampleplugin.cpp
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 #include "exampleplugin.h"
20
21 #include <iostream>
22 #include <boost/assert.hpp>
23
24 using namespace std;
25
26 #include "debugout.h"
27
28 ExampleSourcePlugin::ExampleSourcePlugin()
29 {
30         
31 }
32
33 extern "C" AbstractSource * create()
34 {
35         return new ExampleSourcePlugin();
36 }
37
38 string ExampleSourcePlugin::name()
39 {
40         return "example source plugin";
41 }
42
43 void ExampleSourcePlugin::setProperty(VehicleProperty::Property , boost::any )
44 {
45
46 }
47
48 void ExampleSourcePlugin::subscribeToPropertyChanges(VehicleProperty::Property property)
49 {
50         mRequests.push_back(property);
51 }
52
53 PropertyList ExampleSourcePlugin::supported()
54 {
55         PropertyList props;
56         props.push_back(VehicleProperty::EngineSpeed);
57         props.push_back(VehicleProperty::VehicleSpeed);
58         
59         return props;
60 }
61
62 void ExampleSourcePlugin::unsubscribeToPropertyChanges(VehicleProperty::Property property)
63 {
64         mRequests.remove(property);
65 }
66