Example #1
0
	api_return SystemApi::handleSetAway(ApiRequest& aRequest) {
		auto away = JsonUtil::getField<bool>("away", aRequest.getRequestBody());
		ActivityManager::getInstance()->setAway(away ? AWAY_MANUAL : AWAY_OFF);

		aRequest.setResponseBody(serializeAwayState());
		return websocketpp::http::status_code::ok;
	}
Example #2
0
	void SystemApi::onTimer() noexcept {
		if (!subscriptionActive("away_state")) {
			return;
		}

		auto newState = serializeAwayState();
		if (newState == previousAway) {
			return;
		}

		previousAway = newState;
		send("away_state", newState);
	}
Example #3
0
	api_return SystemApi::handleGetAwayState(ApiRequest& aRequest) {
		aRequest.setResponseBody(serializeAwayState());
		return websocketpp::http::status_code::ok;
	}
Example #4
0
	void SystemApi::on(ActivityManagerListener::AwayModeChanged, AwayMode /*aNewMode*/) noexcept {
		send("away_state", serializeAwayState());
	}