trikRuntime
event.h
Go to the documentation of this file.
1 /* Copyright 2016 CyberTech Labs Ltd.
2  *
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License. */
14 
15 #pragma once
16 
17 #include <QtCore/QObject>
18 #include <QtCore/QHash>
19 #include <QtCore/QSharedPointer>
20 
21 #include "eventInterface.h"
22 #include "eventCodeInterface.h"
23 
24 namespace trikControl {
25 
27 class Event : public EventInterface
28 {
29  Q_OBJECT
30 
31 public:
34  explicit Event(int eventType);
35 
36  EventCodeInterface *code(int codeNum) override;
37 
38 public slots:
41  void onEvent(int onEvent, int code, int value, int eventTime);
42 
43 private:
45  QHash<int, QSharedPointer<EventCodeInterface>> mEventCodes;
46 
48  int mEventType = 0;
49 };
50 
51 }
Class that emits events from event device with specific event type and event code.
Definition: eventCodeInterface.h:27
void onEvent(int onEvent, int code, int value, int eventTime)
Supposed to be called by event device when new event is emitted by event device file.
Definition: event.cpp:37
Implementation of an event that can be emitted by event device.
Definition: event.h:27
Event(int eventType)
Consructor.
Definition: event.cpp:21
Represents event that can be produced by event device.
Definition: eventInterface.h:27
Definition: trikCommunicator.h:27
EventCodeInterface * code(int codeNum) override
Returns object that emits only events with specific code.
Definition: event.cpp:26