mistserver/src/output/output_json.h
2021-10-19 22:29:40 +02:00

37 lines
910 B
C++

#include "output_http.h"
#include <mist/websocket.h>
namespace Mist{
class OutJSON : public HTTPOutput{
public:
OutJSON(Socket::Connection &conn);
static void init(Util::Config *cfg);
void onHTTP();
void onIdle();
virtual void onWebsocketFrame();
virtual void onWebsocketConnect();
virtual void preWebsocketConnect();
bool onFinish();
void onFail(const std::string &msg, bool critical = false);
void sendNext();
void sendHeader();
bool doesWebsockets(){return true;}
protected:
JSON::Value lastVal;
std::string lastOutData;
uint64_t lastOutTime;
uint64_t lastSendTime;
bool keepReselecting;
std::string jsonp;
std::string pushPass;
uint64_t pushTrack;
int64_t bootMsOffset;
bool dupcheck;
std::set<std::string> nodup;
bool first;
bool noReceive;
};
}// namespace Mist
typedef Mist::OutJSON mistOut;