* formatted event data.
*/
bool send_event(
- std::function<void(JsonBuilder *)> event_builder);
+ std::function<void(JsonBuilder *)> event_builder) const;
private:
* The appropriate "header" information will be prepended to the
* event.
*/
- unique_ptr<JsonBuilder> begin_event();
+ unique_ptr<JsonBuilder> begin_event() const;
/**
* End the JSON formatted event to the Settings app request.
*/
- void end_event(unique_ptr<JsonBuilder> const & builder);
+ void end_event(unique_ptr<JsonBuilder> const & builder) const;
private:
* JSON formatted response data.
*/
bool send_response(
- std::function<void(JsonBuilder *)> response_builder);
+ std::function<void(JsonBuilder *)> response_builder) const;
/**
* Send error response to Settings app.
*
* @param[in] error_message Free form error message.
*/
- bool send_error(std::string error_message);
+ bool send_error(std::string error_message) const;
/**
* The settings type/ID associated with the request and
*/
void add_string_value(JsonBuilder * builder,
std::string const & name,
- std::string const & value);
+ std::string const & value) const;
/**
* Begin the JSON formatted response to the Settings app
*
* @param[in] result @c "succeeded" or @c "failed"
*/
- unique_ptr<JsonBuilder> begin_response(char const * result);
+ unique_ptr<JsonBuilder> begin_response(char const * result) const;
/**
* End the JSON formatted response to the Settings app request.
*/
- void end_response(unique_ptr<JsonBuilder> const & builder);
+ void end_response(unique_ptr<JsonBuilder> const & builder) const;
private:
* pre-marshalled (in-memory) payload.
*/
bool send_payload(char const * send_type,
- unique_ptr<JsonBuilder> const & builder);
+ unique_ptr<JsonBuilder> const & builder) const;
/**
* Check if the WebSocket instance @a wsi corresponds to this
bool
ivi::settings::event_callback::send_event(
- std::function<void(JsonBuilder *)> event_builder)
+ std::function<void(JsonBuilder *)> event_builder) const
{
unique_ptr<JsonBuilder> const builder = begin_event();
}
ivi::settings::unique_ptr<JsonBuilder>
-ivi::settings::event_callback::begin_event()
+ivi::settings::event_callback::begin_event() const
{
// Construct JSON event string.
unique_ptr<JsonBuilder> safe_builder(json_builder_new());
void
ivi::settings::event_callback::end_event(
- ivi::settings::unique_ptr<JsonBuilder> const & builder)
+ ivi::settings::unique_ptr<JsonBuilder> const & builder) const
{
json_builder_end_object(builder.get());
}
bool
ivi::settings::manager::send_event(
- unique_ptr<JsonBuilder> const & builder)
+ unique_ptr<JsonBuilder> const & builder) const
{
bool success = true;
*
* @return @c true on success.
*/
- bool send_event(unique_ptr<JsonBuilder> const & builder);
+ bool send_event(unique_ptr<JsonBuilder> const & builder) const;
private:
map_type settings_;
/// Mutex used to synchronize access to the send_callback list.
- std::mutex mutex_;
+ mutable std::mutex mutex_;
/**
* List of client WebSockets to be used for sending events to
bool
ivi::settings::response_callback::send_response(
- std::function<void(JsonBuilder *)> response_builder)
+ std::function<void(JsonBuilder *)> response_builder) const
{
unique_ptr<JsonBuilder> const builder = begin_response("succeeded");
}
bool
-ivi::settings::response_callback::send_error(std::string error_message)
+ivi::settings::response_callback::send_error(
+ std::string error_message) const
{
unique_ptr<JsonBuilder> builder = begin_response("failed");
ivi::settings::response_callback::add_string_value(
JsonBuilder * builder,
std::string const & name,
- std::string const & value)
+ std::string const & value) const
{
json_builder_set_member_name(builder, name.c_str());
if (value.empty())
}
ivi::settings::unique_ptr<JsonBuilder>
-ivi::settings::response_callback::begin_response(char const * result)
+ivi::settings::response_callback::begin_response(
+ char const * result) const
{
// Construct JSON response.
unique_ptr<JsonBuilder> safe_builder(json_builder_new());
void
ivi::settings::response_callback::end_response(
- ivi::settings::unique_ptr<JsonBuilder> const & builder)
+ ivi::settings::unique_ptr<JsonBuilder> const & builder) const
{
json_builder_end_object(builder.get());
}
bool
ivi::settings::send_callback::send_payload(
char const * send_type,
- unique_ptr<JsonBuilder> const & builder)
+ unique_ptr<JsonBuilder> const & builder) const
{
unique_ptr<JsonGenerator> const generator(json_generator_new());
unique_ptr<JsonNode> const root(json_builder_get_root(builder.get()));