source: pacpusframework/branches/2.0-beta1/include/Pacpus/kernel/PacpusEvent.h@ 94

Last change on this file since 94 was 94, checked in by DHERBOMEZ Gérald, 11 years ago

fix windows

  • Property svn:executable set to *
File size: 1.4 KB
Line 
1#ifndef PACPUS_EVENT_H
2#define PACPUS_EVENT_H
3
4#include <QEvent>
5#include "Pacpus/kernel/road_time.h"
6#include <Pacpus/kernel/pacpus.h>
7
8namespace pacpus {
9
10class GenericData {
11public:
12 GenericData(char* data, size_t size) {
13 _data = (char*)malloc(size);
14 memcpy(_data,data,size);
15 _size = size;}
16
17 ~GenericData() {free(_data);}
18
19 char * data() { return _data;}
20 size_t size() {return _size;}
21
22private:
23char* _data;
24size_t _size;
25};
26
27enum PacpusEventType {
28 TYPED_EVENT = 1000,
29 GENERIC_EVENT = 2000,
30 GENERIC_EVENT2 = 2002,
31 GENERIC_EVENT3 = 2003,
32 CONFIG_EVENT = 3000
33};
34
35class PACPUSLIB_API PacpusEvent : public QEvent
36{
37public:
38 PacpusEvent(QEvent::Type type):QEvent(type) {}
39};
40
41template<class T>
42class PacpusTypedEvent : public PacpusEvent
43{
44public:
45 PacpusTypedEvent(QEvent::Type type, T data, road_time_t t = road_time(), road_timerange_t tr = 0 ):PacpusEvent(type)
46 {_data = data; t_ = t; tr_ = tr;}
47 ~PacpusTypedEvent() {}
48 T _data;
49 road_time_t t_;
50 road_timerange_t tr_;
51};
52
53class PACPUSLIB_API PacpusGenericEvent : public PacpusEvent
54{
55public:
56 PacpusGenericEvent(QEvent::Type type, char* data, size_t size):PacpusEvent(type) {
57 _data = (char*)malloc(size);
58 memcpy(_data,data,size);
59 _size = size;
60
61 }
62 virtual ~PacpusGenericEvent() {free(_data);}
63 char* _data;
64 size_t _size;
65};
66
67
68} // namespace pacpus
69
70#endif // PACPUS_EVENT_H
Note: See TracBrowser for help on using the repository browser.