forked from sinricpro/esp8266-esp32-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSinricProQueue.h
52 lines (40 loc) · 1.09 KB
/
SinricProQueue.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/*
* Copyright (c) 2021 Sinric. All rights reserved.
* Licensed under Creative Commons Attribution-Share Alike (CC BY-SA)
*
* This file is part of the Sinric Pro (https://github.com/sinricpro/)
*/
#pragma once
#include <queue>
#include "SinricProNamespace.h"
namespace SINRICPRO_NAMESPACE {
typedef enum {
IF_UNKNOWN = 0,
IF_WEBSOCKET = 1,
IF_UDP = 2
} interface_t;
class SinricProMessage {
public:
SinricProMessage(interface_t interface, const char* message);
~SinricProMessage();
const char* getMessage() const;
interface_t getInterface() const;
private:
interface_t _interface;
char* _message;
};
SinricProMessage::SinricProMessage(interface_t interface, const char* message) :
_interface(interface) {
_message = strdup(message);
};
SinricProMessage::~SinricProMessage() {
if (_message) free(_message);
};
const char* SinricProMessage::getMessage() const {
return _message;
};
interface_t SinricProMessage::getInterface() const {
return _interface;
};
typedef std::queue<SinricProMessage*> SinricProQueue_t;
} // SINRICPRO_NAMESPACE