FlightGear
next
PropertyChangeWebsocket.hxx
Go to the documentation of this file.
1
// PropertyChangeWebsocket.hxx -- A websocket for propertychangelisteners
2
//
3
// Written by Torsten Dreyer, started April 2014.
4
//
5
// Copyright (C) 2014 Torsten Dreyer
6
//
7
// This program is free software; you can redistribute it and/or
8
// modify it under the terms of the GNU General Public License as
9
// published by the Free Software Foundation; either version 2 of the
10
// License, or (at your option) any later version.
11
//
12
// This program is distributed in the hope that it will be useful, but
13
// WITHOUT ANY WARRANTY; without even the implied warranty of
14
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
// General Public License for more details.
16
//
17
// You should have received a copy of the GNU General Public License
18
// along with this program; if not, write to the Free Software
19
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20
21
#ifndef PROPERTYCHANGEWEBSOCKET_HXX_
22
#define PROPERTYCHANGEWEBSOCKET_HXX_
23
24
#include "
Websocket.hxx
"
25
#include <simgear/props/props.hxx>
26
27
#include <vector>
28
29
namespace
flightgear
{
30
namespace
http
{
31
32
class
PropertyChangeObserver
;
33
34
class
PropertyChangeWebsocket
:
public
Websocket
{
35
public
:
36
PropertyChangeWebsocket
(
PropertyChangeObserver
* propertyChangeObserver);
37
virtual
~PropertyChangeWebsocket
();
38
virtual
void
close
();
39
virtual
void
handleRequest
(
const
HTTPRequest
& request,
WebsocketWriter
& writer);
40
virtual
void
poll
(
WebsocketWriter
& writer);
41
42
private
:
43
unsigned
id;
44
PropertyChangeObserver
* _propertyChangeObserver;
45
46
void
handleGetCommand(
const
string_list
& nodes,
WebsocketWriter
&writer);
47
48
class
WatchedNodesList:
public
std::vector<SGPropertyNode_ptr> {
49
public
:
50
void
handleCommand(
const
std::string &
command
,
const
std::string & node,
PropertyChangeObserver
* propertyChangeObserver);
51
};
52
53
WatchedNodesList _watchedNodes;
54
double
_minTriggerInterval;
55
double
_lastTrigger;
56
};
57
58
}
59
}
60
61
#endif
/* PROPERTYCHANGEWEBSOCKET_HXX_ */
Websocket.hxx
flightgear::http::HTTPRequest
Definition
HTTPRequest.hxx:31
flightgear::http::PropertyChangeObserver
Definition
PropertyChangeObserver.hxx:43
flightgear::http::PropertyChangeWebsocket::close
virtual void close()
Definition
PropertyChangeWebsocket.cxx:132
flightgear::http::PropertyChangeWebsocket::handleRequest
virtual void handleRequest(const HTTPRequest &request, WebsocketWriter &writer)
Definition
PropertyChangeWebsocket.cxx:153
flightgear::http::PropertyChangeWebsocket::~PropertyChangeWebsocket
virtual ~PropertyChangeWebsocket()
Definition
PropertyChangeWebsocket.cxx:128
flightgear::http::PropertyChangeWebsocket::PropertyChangeWebsocket
PropertyChangeWebsocket(PropertyChangeObserver *propertyChangeObserver)
Definition
PropertyChangeWebsocket.cxx:120
flightgear::http::PropertyChangeWebsocket::poll
virtual void poll(WebsocketWriter &writer)
Definition
PropertyChangeWebsocket.cxx:210
flightgear::http::WebsocketWriter
Definition
Websocket.hxx:30
flightgear::http::Websocket
Definition
Websocket.hxx:66
string_list
std::vector< std::string > string_list
Definition
globals.hxx:36
flightgear::http
Definition
FlightHistoryUriHandler.cxx:33
flightgear
FlightPlan.hxx - defines a full flight-plan object, including departure, cruise, arrival information ...
Definition
Addon.cxx:53
flightgear::command
SGCommandMgr::command_t command
Definition
subsystemFactory.cxx:308
src
Network
http
PropertyChangeWebsocket.hxx
Generated on Tue Jun 3 2025 12:58:41 for FlightGear by
1.13.2