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 |
struct | FetchAssetResponse |
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) |
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, DefinitionType definitionType) |
void | from_json (const nlohmann::json &j, Channel &c) |
void | from_json (const nlohmann::json &j, Parameter &p) |
void | from_json (const nlohmann::json &j, ParameterValue &p) |
void | from_json (const nlohmann::json &j, Service &p) |
std::string | IPAddressToString (const websocketpp::lib::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) |
std::string | remove_service_subtype (const std::string service_type) |
static std::vector< std::string > | split_string (const std::string &str, const std::string &delimiter="\n") |
constexpr websocketpp::log::level | StatusLevelToLogLevel (StatusLevel level) |
void | to_json (nlohmann::json &j, const Channel &c) |
void | to_json (nlohmann::json &j, const ClientAdvertisement &p) |
void | to_json (nlohmann::json &j, const Parameter &p) |
void | to_json (nlohmann::json &j, const ParameterValue &p) |
void | to_json (nlohmann::json &j, const Service &p) |
std::future< Channel > | waitForChannel (std::shared_ptr< ClientInterface > client, const std::string &topicName) |
std::future< std::vector< uint8_t > > | waitForChannelMsg (ClientInterface *client, SubscriptionId subscriptionId) |
std::future< FetchAssetResponse > | waitForFetchAssetResponse (std::shared_ptr< ClientInterface > client) |
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 |
constexpr char | CAPABILITY_ASSETS [] = "assets" |
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 *, 6 > | DEFAULT_CAPABILITIES |
constexpr size_t | DEFAULT_SEND_BUFFER_LIMIT_BYTES = 10000000UL |
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 26 of file common.hpp.
using foxglove::ClientChannelId = typedef uint32_t |
Definition at line 27 of file common.hpp.
using foxglove::ConnHandle = typedef websocketpp::connection_hdl |
Definition at line 68 of file websocket_server.hpp.
using foxglove::json = typedef nlohmann::json |
Definition at line 66 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 29 of file common.hpp.
using foxglove::ServiceRequest = typedef ServiceResponse |
Definition at line 148 of file common.hpp.
using foxglove::SubscriptionId = typedef uint32_t |
Definition at line 28 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 | |
FETCH_ASSET_RESPONSE |
Definition at line 31 of file common.hpp.
|
strong |
Enumerator | |
---|---|
MESSAGE_DATA | |
SERVICE_CALL_REQUEST |
Definition at line 38 of file common.hpp.
|
strong |
Enumerator | |
---|---|
Message | |
Service | |
Action |
Definition at line 37 of file message_definition_cache.cpp.
|
strong |
Enumerator | |
---|---|
Success | |
Error |
Definition at line 150 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 96 of file websocket_server.hpp.
|
strong |
Enumerator | |
---|---|
Debug | |
Info | |
Warn | |
Error | |
Critical |
Definition at line 43 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.
|
static |
Definition at line 105 of file message_definition_cache.cpp.
|
inline |
Definition at line 140 of file message_definition_cache.cpp.
|
static |
Definition at line 84 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, |
Parameter & | p | ||
) |
Definition at line 90 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, |
Service & | p | ||
) |
Definition at line 135 of file serialization.cpp.
|
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 72 of file message_definition_cache.cpp.
|
static |
Definition at line 62 of file message_definition_cache.cpp.
|
static |
Definition at line 43 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 145 of file message_definition_cache.cpp.
std::string foxglove::remove_service_subtype | ( | const std::string | service_type | ) |
Definition at line 163 of file message_definition_cache.cpp.
|
static |
Definition at line 123 of file message_definition_cache.cpp.
|
constexpr |
Definition at line 102 of file websocket_server.hpp.
void foxglove::to_json | ( | nlohmann::json & | j, |
const Channel & | c | ||
) |
Definition at line 6 of file serialization.cpp.
|
inline |
Definition at line 21 of file websocket_client.hpp.
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 ParameterValue & | p | ||
) |
Definition at line 31 of file serialization.cpp.
void foxglove::to_json | ( | nlohmann::json & | j, |
const Service & | p | ||
) |
Definition at line 125 of file serialization.cpp.
std::future< Channel > foxglove::waitForChannel | ( | std::shared_ptr< ClientInterface > | client, |
const std::string & | topicName | ||
) |
Definition at line 92 of file test_client.cpp.
std::future< std::vector< uint8_t > > foxglove::waitForChannelMsg | ( | ClientInterface * | client, |
SubscriptionId | subscriptionId | ||
) |
Definition at line 11 of file test_client.cpp.
std::future< FetchAssetResponse > foxglove::waitForFetchAssetResponse | ( | std::shared_ptr< ClientInterface > | client | ) |
Definition at line 115 of file test_client.cpp.
std::future< std::vector< Parameter > > foxglove::waitForParameters | ( | std::shared_ptr< ClientInterface > | client, |
const std::string & | requestId = std::string() |
||
) |
Definition at line 31 of file test_client.cpp.
std::future< Service > foxglove::waitForService | ( | std::shared_ptr< ClientInterface > | client, |
const std::string & | serviceName | ||
) |
Definition at line 68 of file test_client.cpp.
std::future< ServiceResponse > foxglove::waitForServiceResponse | ( | std::shared_ptr< ClientInterface > | client | ) |
Definition at line 51 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 |
Definition at line 17 of file message_definition_cache.hpp.
|
constexpr |
Definition at line 15 of file message_definition_cache.hpp.
|
constexpr |
Definition at line 16 of file message_definition_cache.hpp.
|
static |
Definition at line 71 of file websocket_server.hpp.
|
constexpr |
Definition at line 19 of file common.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 91 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 76 of file websocket_server.hpp.
|
constexpr |
Definition at line 13 of file common.hpp.
|
constexpr |
Definition at line 18 of file common.hpp.
|
constexpr |
Definition at line 15 of file common.hpp.
|
constexpr |
Definition at line 16 of file common.hpp.
|
constexpr |
Definition at line 17 of file common.hpp.
|
constexpr |
Definition at line 14 of file common.hpp.
|
constexpr |
Definition at line 21 of file common.hpp.
|
constexpr |
Definition at line 16 of file server_interface.hpp.
const char foxglove::FOXGLOVE_BRIDGE_GIT_HASH[] |
const char foxglove::FOXGLOVE_BRIDGE_VERSION[] |
|
static |
Definition at line 30 of file message_definition_cache.cpp.
|
static |
Definition at line 27 of file message_definition_cache.cpp.
|
static |
Definition at line 23 of file message_definition_cache.cpp.
|
static |
Definition at line 33 of file message_definition_cache.cpp.
|
static |
Definition at line 73 of file websocket_server.hpp.
|
constexpr |
Definition at line 13 of file message_definition_cache.hpp.
|
constexpr |
Definition at line 14 of file message_definition_cache.hpp.
|
constexpr |
Definition at line 12 of file common.hpp.
|
static |
Definition at line 72 of file websocket_server.hpp.