Goby3 3.6.1
2026.09.15
Loading...
Searching...
No Matches
application.h File Reference

Go to the source code of this file.

Classes

class  goby::middleware::julia::Application< AppBase >
 
class  goby::middleware::julia::ApplicationWrapper< App >
 

Namespaces

namespace  goby
 The global namespace for the Goby project.
 
namespace  goby::middleware
 Objects implementing the Goby nested middleware.
 
namespace  goby::middleware::julia
 

Macros

#define GOBY_JULIA_IF_PUBLICATION(SCHEME, LAYER_ENUM, LAYER_FUNCTION, GROUP, GROUP_KEY, TYPE)
 
#define GOBY_JULIA_IF_SUBSCRIPTION(SCHEME, LAYER_ENUM, LAYER_FUNCTION, GROUP, GROUP_KEY, TYPE)
 
#define GOBY_JULIA_FAIL(PUBLISH_OR_SUBSCRIBE)
 
#define GOBY_JULIA_QUOTE(name)   #name
 
#define GOBY_JULIA_DEFINE_MODULE(APPLICATION_NAME)
 

Functions

template<typename App >
void goby::middleware::julia::define_julia_module (jlcxx::Module &types, const std::string &app_name)
 

Macro Definition Documentation

◆ GOBY_JULIA_DEFINE_MODULE

#define GOBY_JULIA_DEFINE_MODULE (   APPLICATION_NAME)
Value:
JLCXX_MODULE define_julia_module(jlcxx::Module& types) \
{ \
goby::middleware::julia::define_julia_module<APPLICATION_NAME>( \
types, GOBY_JULIA_QUOTE(APPLICATION_NAME)); \
}
#define GOBY_JULIA_QUOTE(name)

Definition at line 173 of file application.h.

◆ GOBY_JULIA_FAIL

#define GOBY_JULIA_FAIL (   PUBLISH_OR_SUBSCRIBE)
Value:
goby::glog << PUBLISH_OR_SUBSCRIBE " not defined for these parameters: [" << id \
<< "]. Please include in interfaces.yml and re-generate to include them." \
<< std::endl;
util::FlexOstream glog
Access the Goby logger through this object.

Definition at line 165 of file application.h.

◆ GOBY_JULIA_IF_PUBLICATION

#define GOBY_JULIA_IF_PUBLICATION (   SCHEME,
  LAYER_ENUM,
  LAYER_FUNCTION,
  GROUP,
  GROUP_KEY,
  TYPE 
)
Value:
goby::middleware::julia::PubSubLayer::LAYER_ENUM, TYPE::descriptor()->name(), \
goby::middleware::MarshallingScheme::SCHEME, GROUP_KEY}) \
{ \
decltype(bytes.end()) actual_end; \
auto msg = goby::middleware::SerializerParserHelper< \
TYPE, goby::middleware::MarshallingScheme::SCHEME>::parse(bytes.begin(), bytes.end(), \
actual_end); \
LAYER_FUNCTION().publish<GROUP>(msg); \
return; \
}
The global namespace for the Goby project.
Fully identifies a publication or subscription crossing the language boundary.
Definition interface.h:76

Definition at line 136 of file application.h.

◆ GOBY_JULIA_IF_SUBSCRIPTION

#define GOBY_JULIA_IF_SUBSCRIPTION (   SCHEME,
  LAYER_ENUM,
  LAYER_FUNCTION,
  GROUP,
  GROUP_KEY,
  TYPE 
)
Value:
goby::middleware::julia::PubSubLayer::LAYER_ENUM, TYPE::descriptor()->name(), \
goby::middleware::MarshallingScheme::SCHEME, GROUP_KEY}) \
{ \
LAYER_FUNCTION().subscribe<GROUP>( \
[=](const TYPE& pb) \
{ \
std::vector<std::uint8_t> bytes = goby::middleware::julia::serialize_uint8< \
TYPE, goby::middleware::MarshallingScheme::SCHEME>(pb); \
jlcxx::JuliaFunction cb(func, module); \
cb(id.layer, id.type_name, id.scheme, id.group, bytes); \
}); \
return; \
}
goby::util::logger::GroupSetter group(std::string n)

Definition at line 149 of file application.h.

◆ GOBY_JULIA_QUOTE

#define GOBY_JULIA_QUOTE (   name)    #name

Definition at line 172 of file application.h.