forked from digital-dream-labs/vector
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwebVizSender.cpp
More file actions
59 lines (48 loc) · 1.2 KB
/
webVizSender.cpp
File metadata and controls
59 lines (48 loc) · 1.2 KB
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
53
54
55
56
57
58
59
/**
* File: webVizSender.cpp
*
* Author: Brad Neuman
* Created: 2018-08-11
*
* Description: RAII style helper to send json to webviz
*
* Copyright: Anki, Inc. 2018
*
**/
#include "webServerProcess/src/webVizSender.h"
#include "util/logging/logging.h"
#include "webServerProcess/src/webService.h"
#if !defined(ANKI_NO_WEBSERVER_ENABLED)
#define ANKI_NO_WEBSERVER_ENABLED 0
#endif
namespace Anki {
namespace Vector {
namespace WebService {
WebVizSender::WebVizSender(const std::string& moduleName, WebService* webService)
: _module(moduleName)
, _webService(webService)
{
DEV_ASSERT(_webService != nullptr, "WebVizSender.Ctor.NullWebService");
}
WebVizSender::~WebVizSender()
{
#if !ANKI_NO_WEBSERVER_ENABLED
DEV_ASSERT(_webService != nullptr, "WebVizSender.Dtor.NullWebService");
if( !_data.empty() ) {
_webService->SendToWebViz(_module, _data);
}
#endif
}
std::shared_ptr<WebVizSender> WebVizSender::CreateWebVizSender(const std::string& moduleName, WebService* webService)
{
#if !ANKI_NO_WEBSERVER_ENABLED
if( webService &&
webService->IsWebVizClientSubscribed(moduleName) ) {
return std::make_shared<WebVizSender>(moduleName, webService);
}
#endif
return {};
}
}
}
}