e45b108c5bcabbce2dd582ae6a379fc2d47dccf3
[profile/ivi/automotive-message-broker.git] / plugins / examplesink.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
20 #ifndef EXAMPLESINK_H
21 #define EXAMPLESINK_H
22
23 #include "abstractsink.h"
24
25
26 class ExampleSink : public AbstractSink
27 {
28
29 public:
30         ExampleSink(AbstractRoutingEngine* engine, map<string, string> config);
31         virtual PropertyList subscriptions();
32         virtual void supportedChanged(PropertyList supportedProperties);
33         virtual void propertyChanged(VehicleProperty::Property property, AbstractPropertyType* value, std::string uuid, double timestamp, uint32_t sequence);
34         virtual std::string uuid();
35 };
36
37 class ExampleSinkManager: public AbstractSinkManager
38 {
39 public:
40         ExampleSinkManager(AbstractRoutingEngine* engine, map<string, string> config)
41         :AbstractSinkManager(engine, config)
42         {
43                 new ExampleSink(routingEngine, config);
44         }
45 };
46
47 #endif // EXAMPLESINK_H