Classes | |
class | CallbackLogger |
class | CallbackQueue |
struct | Channel |
class | ChannelError |
struct | ChannelWithoutId |
class | Client |
struct | ClientAdvertisement |
class | ClientChannelError |
class | ClientInterface |
struct | ClientMessage |
struct | DefinitionIdentifier |
class | DefinitionNotFoundError |
class | ExeptionWithId |
class | MessageDefinitionCache |
struct | MessageSpec |
class | Parameter |
class | ParameterValue |
class | Server |
class | ServerFactory |
struct | ServerHandlers |
class | ServerInterface |
struct | ServerOptions |
struct | Service |
class | ServiceError |
struct | ServiceResponse |
struct | ServiceWithoutId |
struct | WebSocketNoTls |
struct | WebSocketTls |
Typedefs | |
using | BinaryMessageHandler = std::function< void(const uint8_t *, size_t)> |
using | ChannelId = uint32_t |
using | ClientChannelId = uint32_t |
using | ConnHandle = websocketpp::connection_hdl |
using | json = nlohmann::json |
using | LogCallback = std::function< void(WebSocketLogLevel, char const *)> |
using | MapOfSets = std::unordered_map< std::string, std::unordered_set< std::string > > |
using | OpCode = websocketpp::frame::opcode::value |
using | ServiceId = uint32_t |
using | ServiceRequest = ServiceResponse |
using | SubscriptionId = uint32_t |
using | TextMessageHandler = std::function< void(const std::string &)> |
Functions | |
std::vector< unsigned char > | base64Decode (const std::string &input) |
std::string | base64Encode (const std::string_view &input) |
std::vector< uint8_t > | connectClientAndReceiveMsg (const std::string &uri, const std::string &topic_name) |
static std::string | delimiter (const DefinitionIdentifier &definition_identifier) |
bool | ends_with (const std::string &str, const std::string &suffix) |
static const char * | extension_for_format (MessageDefinitionFormat format) |
void | from_json (const nlohmann::json &j, Channel &c) |
void | from_json (const nlohmann::json &j, ParameterValue &p) |
void | from_json (const nlohmann::json &j, Parameter &p) |
void | from_json (const nlohmann::json &j, Service &p) |
constexpr uint32_t | Integer (const std::string_view str) |
std::string | IPAddressToString (const asio::ip::address &addr) |
bool | isWhitelisted (const std::string &name, const std::vector< std::regex > ®exPatterns) |
void | NoOpLogCallback (WebSocketLogLevel, char const *) |
std::set< std::string > | parse_dependencies (MessageDefinitionFormat format, const std::string &text, const std::string &package_context) |
static std::set< std::string > | parse_idl_dependencies (const std::string &text) |
static std::set< std::string > | parse_msg_dependencies (const std::string &text, const std::string &package_context) |
uint32_t | ReadUint32LE (const uint8_t *buf) |
std::string | remove_action_subtype (const std::string action_type) |
static std::tuple< std::string, std::string, std::string > | split_action_msg_definition (const std::string &action_definition) |
Split an action definition into individual goal, result and feedback definitions. More... | |
static std::vector< std::string > | split_string (const std::string &str, const std::string &delimiter="\) |
constexpr websocketpp::log::level | StatusLevelToLogLevel (StatusLevel level) |
void | to_json (nlohmann::json &j, const ClientAdvertisement &p) |
void | to_json (nlohmann::json &j, const Channel &c) |
void | to_json (nlohmann::json &j, const ParameterValue &p) |
void | to_json (nlohmann::json &j, const Parameter &p) |
void | to_json (nlohmann::json &j, const Service &p) |
std::future< std::vector< Parameter > > | waitForParameters (std::shared_ptr< ClientInterface > client, const std::string &requestId=std::string()) |
std::future< Service > | waitForService (std::shared_ptr< ClientInterface > client, const std::string &serviceName) |
std::future< ServiceResponse > | waitForServiceResponse (std::shared_ptr< ClientInterface > client) |
const char * | WebSocketUserAgent () |
void | WriteUint32LE (uint8_t *buf, uint32_t val) |
void | WriteUint64LE (uint8_t *buf, uint64_t val) |
Variables | |
constexpr char | ACTION_FEEDBACK_MESSAGE_SUFFIX [] = "_FeedbackMessage" |
constexpr char | ACTION_GOAL_SERVICE_SUFFIX [] = "_SendGoal" |
constexpr char | ACTION_RESULT_SERVICE_SUFFIX [] = "_GetResult" |
static const websocketpp::log::level | APP = websocketpp::log::alevel::app |
const std::unordered_map< ClientBinaryOpcode, std::string > | CAPABILITY_BY_CLIENT_BINARY_OPERATION |
Map of required capability by client operation (binary). More... | |
const std::unordered_map< std::string, std::string > | CAPABILITY_BY_CLIENT_OPERATION |
Map of required capability by client operation (text). More... | |
constexpr char | CAPABILITY_CLIENT_PUBLISH [] = "clientPublish" |
constexpr char | CAPABILITY_CONNECTION_GRAPH [] = "connectionGraph" |
constexpr char | CAPABILITY_PARAMETERS [] = "parameters" |
constexpr char | CAPABILITY_PARAMETERS_SUBSCRIBE [] = "parametersSubscribe" |
constexpr char | CAPABILITY_SERVICES [] = "services" |
constexpr char | CAPABILITY_TIME [] = "time" |
constexpr std::array< const char *, 5 > | DEFAULT_CAPABILITIES |
constexpr size_t | DEFAULT_SEND_BUFFER_LIMIT_BYTES = 10000000UL |
constexpr auto | DEFAULT_TIMEOUT = std::chrono::seconds(5) |
const char | FOXGLOVE_BRIDGE_GIT_HASH [] |
const char | FOXGLOVE_BRIDGE_VERSION [] |
static const std::regex | IDL_FIELD_TYPE_REGEX |
static const std::regex | MSG_FIELD_TYPE_REGEX {R"((?:^|\n)\s*([a-zA-Z0-9_/]+)(?:\[[^\]]*\])?\s+)"} |
static const std::regex | PACKAGE_TYPENAME_REGEX |
static const std::unordered_set< std::string > | PRIMITIVE_TYPES |
static const websocketpp::log::level | RECOVERABLE = websocketpp::log::elevel::rerror |
constexpr char | SERVICE_REQUEST_MESSAGE_SUFFIX [] = "_Request" |
constexpr char | SERVICE_RESPONSE_MESSAGE_SUFFIX [] = "_Response" |
constexpr char | SUPPORTED_SUBPROTOCOL [] = "foxglove.websocket.v1" |
static const websocketpp::log::level | WARNING = websocketpp::log::elevel::warn |
using foxglove::BinaryMessageHandler = typedef std::function<void(const uint8_t*, size_t)> |
Definition at line 29 of file websocket_client.hpp.
using foxglove::ChannelId = typedef uint32_t |
Definition at line 25 of file common.hpp.
using foxglove::ClientChannelId = typedef uint32_t |
Definition at line 26 of file common.hpp.
using foxglove::ConnHandle = typedef websocketpp::connection_hdl |
Definition at line 45 of file websocket_server.hpp.
using foxglove::json = typedef nlohmann::json |
Definition at line 43 of file websocket_server.hpp.
using foxglove::LogCallback = typedef std::function<void(WebSocketLogLevel, char const*)> |
Definition at line 12 of file websocket_logging.hpp.
using foxglove::MapOfSets = typedef std::unordered_map<std::string, std::unordered_set<std::string> > |
Definition at line 18 of file server_interface.hpp.
typedef websocketpp::frame::opcode::value foxglove::OpCode |
Definition at line 30 of file websocket_client.hpp.
using foxglove::ServiceId = typedef uint32_t |
Definition at line 28 of file common.hpp.
using foxglove::ServiceRequest = typedef ServiceResponse |
Definition at line 146 of file common.hpp.
using foxglove::SubscriptionId = typedef uint32_t |
Definition at line 27 of file common.hpp.
using foxglove::TextMessageHandler = typedef std::function<void(const std::string&)> |
Definition at line 28 of file websocket_client.hpp.
|
strong |
Enumerator | |
---|---|
MESSAGE_DATA | |
TIME_DATA | |
SERVICE_CALL_RESPONSE |
Definition at line 30 of file common.hpp.
|
strong |
Enumerator | |
---|---|
MESSAGE_DATA | |
SERVICE_CALL_REQUEST |
Definition at line 36 of file common.hpp.
|
strong |
Enumerator | |
---|---|
IDL | |
MSG |
Definition at line 19 of file message_definition_cache.hpp.
|
strong |
Enumerator | |
---|---|
SUBSCRIBE | |
UNSUBSCRIBE |
Definition at line 11 of file parameter.hpp.
|
strong |
Enumerator | |
---|---|
PARAMETER_NOT_SET | |
PARAMETER_BOOL | |
PARAMETER_INTEGER | |
PARAMETER_DOUBLE | |
PARAMETER_STRING | |
PARAMETER_ARRAY | |
PARAMETER_STRUCT | |
PARAMETER_BYTE_ARRAY |
Definition at line 16 of file parameter.hpp.
|
strong |
Enumerator | |
---|---|
Info | |
Warning | |
Error |
Definition at line 80 of file websocket_server.hpp.
|
strong |
Enumerator | |
---|---|
Debug | |
Info | |
Warn | |
Error | |
Critical |
Definition at line 41 of file common.hpp.
std::vector< unsigned char > foxglove::base64Decode | ( | const std::string & | input | ) |
Definition at line 47 of file base64.cpp.
std::string foxglove::base64Encode | ( | const std::string_view & | input | ) |
Definition at line 10 of file base64.cpp.
std::vector< uint8_t > foxglove::connectClientAndReceiveMsg | ( | const std::string & | uri, |
const std::string & | topic_name | ||
) |
Definition at line 14 of file test_client.cpp.
|
static |
Definition at line 86 of file message_definition_cache.cpp.
|
inline |
Definition at line 136 of file message_definition_cache.cpp.
|
static |
Definition at line 75 of file message_definition_cache.cpp.
void foxglove::from_json | ( | const nlohmann::json & | j, |
Channel & | c | ||
) |
Definition at line 19 of file serialization.cpp.
void foxglove::from_json | ( | const nlohmann::json & | j, |
ParameterValue & | p | ||
) |
Definition at line 55 of file serialization.cpp.
void foxglove::from_json | ( | const nlohmann::json & | j, |
Parameter & | p | ||
) |
Definition at line 83 of file serialization.cpp.
void foxglove::from_json | ( | const nlohmann::json & | j, |
Service & | p | ||
) |
Definition at line 112 of file serialization.cpp.
constexpr uint32_t foxglove::Integer | ( | const std::string_view | str | ) |
Definition at line 52 of file websocket_server.hpp.
|
inline |
Definition at line 14 of file websocket_logging.hpp.
|
inline |
Definition at line 10 of file regex_utils.hpp.
|
inline |
Definition at line 21 of file websocket_logging.hpp.
std::set< std::string > foxglove::parse_dependencies | ( | MessageDefinitionFormat | format, |
const std::string & | text, | ||
const std::string & | package_context | ||
) |
Definition at line 63 of file message_definition_cache.cpp.
|
static |
Definition at line 53 of file message_definition_cache.cpp.
|
static |
Definition at line 34 of file message_definition_cache.cpp.
|
inline |
Definition at line 38 of file serialization.hpp.
std::string foxglove::remove_action_subtype | ( | const std::string | action_type | ) |
Definition at line 141 of file message_definition_cache.cpp.
|
static |
Split an action definition into individual goal, result and feedback definitions.
action_definition | The full action definition as read from a .action file |
Definition at line 124 of file message_definition_cache.cpp.
|
static |
Definition at line 104 of file message_definition_cache.cpp.
constexpr websocketpp::log::level foxglove::StatusLevelToLogLevel | ( | StatusLevel | level | ) |
Definition at line 86 of file websocket_server.hpp.
|
inline |
Definition at line 21 of file websocket_client.hpp.
void foxglove::to_json | ( | nlohmann::json & | j, |
const Channel & | c | ||
) |
Definition at line 6 of file serialization.cpp.
void foxglove::to_json | ( | nlohmann::json & | j, |
const ParameterValue & | p | ||
) |
Definition at line 31 of file serialization.cpp.
void foxglove::to_json | ( | nlohmann::json & | j, |
const Parameter & | p | ||
) |
Definition at line 75 of file serialization.cpp.
void foxglove::to_json | ( | nlohmann::json & | j, |
const Service & | p | ||
) |
Definition at line 102 of file serialization.cpp.
std::future< std::vector< Parameter > > foxglove::waitForParameters | ( | std::shared_ptr< ClientInterface > | client, |
const std::string & | requestId = std::string() |
||
) |
Definition at line 60 of file test_client.cpp.
std::future< Service > foxglove::waitForService | ( | std::shared_ptr< ClientInterface > | client, |
const std::string & | serviceName | ||
) |
Definition at line 97 of file test_client.cpp.
std::future< ServiceResponse > foxglove::waitForServiceResponse | ( | std::shared_ptr< ClientInterface > | client | ) |
Definition at line 80 of file test_client.cpp.
const char * foxglove::WebSocketUserAgent | ( | ) |
Definition at line 7 of file foxglove_bridge.cpp.
|
inline |
Definition at line 27 of file serialization.hpp.
|
inline |
Definition at line 12 of file serialization.hpp.
constexpr char foxglove::ACTION_FEEDBACK_MESSAGE_SUFFIX[] = "_FeedbackMessage" |
Definition at line 17 of file message_definition_cache.hpp.
constexpr char foxglove::ACTION_GOAL_SERVICE_SUFFIX[] = "_SendGoal" |
Definition at line 15 of file message_definition_cache.hpp.
constexpr char foxglove::ACTION_RESULT_SERVICE_SUFFIX[] = "_GetResult" |
Definition at line 16 of file message_definition_cache.hpp.
|
static |
Definition at line 48 of file websocket_server.hpp.
const std::unordered_map<ClientBinaryOpcode, std::string> foxglove::CAPABILITY_BY_CLIENT_BINARY_OPERATION |
Map of required capability by client operation (binary).
Definition at line 75 of file websocket_server.hpp.
const std::unordered_map<std::string, std::string> foxglove::CAPABILITY_BY_CLIENT_OPERATION |
Map of required capability by client operation (text).
Definition at line 61 of file websocket_server.hpp.
constexpr char foxglove::CAPABILITY_CLIENT_PUBLISH[] = "clientPublish" |
Definition at line 13 of file common.hpp.
constexpr char foxglove::CAPABILITY_CONNECTION_GRAPH[] = "connectionGraph" |
Definition at line 18 of file common.hpp.
constexpr char foxglove::CAPABILITY_PARAMETERS[] = "parameters" |
Definition at line 15 of file common.hpp.
constexpr char foxglove::CAPABILITY_PARAMETERS_SUBSCRIBE[] = "parametersSubscribe" |
Definition at line 16 of file common.hpp.
constexpr char foxglove::CAPABILITY_SERVICES[] = "services" |
Definition at line 17 of file common.hpp.
constexpr char foxglove::CAPABILITY_TIME[] = "time" |
Definition at line 14 of file common.hpp.
constexpr std::array<const char*, 5> foxglove::DEFAULT_CAPABILITIES |
Definition at line 20 of file common.hpp.
constexpr size_t foxglove::DEFAULT_SEND_BUFFER_LIMIT_BYTES = 10000000UL |
Definition at line 16 of file server_interface.hpp.
constexpr auto foxglove::DEFAULT_TIMEOUT = std::chrono::seconds(5) |
Definition at line 12 of file test_client.cpp.
const char foxglove::FOXGLOVE_BRIDGE_GIT_HASH[] |
const char foxglove::FOXGLOVE_BRIDGE_VERSION[] |
|
static |
Definition at line 27 of file message_definition_cache.cpp.
|
static |
Definition at line 24 of file message_definition_cache.cpp.
|
static |
Definition at line 20 of file message_definition_cache.cpp.
|
static |
Definition at line 30 of file message_definition_cache.cpp.
|
static |
Definition at line 50 of file websocket_server.hpp.
constexpr char foxglove::SERVICE_REQUEST_MESSAGE_SUFFIX[] = "_Request" |
Definition at line 13 of file message_definition_cache.hpp.
constexpr char foxglove::SERVICE_RESPONSE_MESSAGE_SUFFIX[] = "_Response" |
Definition at line 14 of file message_definition_cache.hpp.
constexpr char foxglove::SUPPORTED_SUBPROTOCOL[] = "foxglove.websocket.v1" |
Definition at line 12 of file common.hpp.
|
static |
Definition at line 49 of file websocket_server.hpp.