NRP Core  1.4.1
protobuf_ops.h File Reference
#include <dlfcn.h>
#include "google/protobuf/message.h"
#include "nrp_protobuf/engine_grpc.pb.h"
#include "nrp_protobuf/nrp_server.pb.h"
#include "nrp_general_library/datapack_interface/datapack.h"
#include "nrp_general_library/utils/nrp_exceptions.h"

Go to the source code of this file.

Classes

class  protobuf_ops::NRPProtobufOpsIface
 
class  protobuf_ops::NRPProtobufOps< MSG_TYPES >
 

Namespaces

 protobuf_ops
 

Macros

#define CREATE_PROTOBUF_OPS_FCN_STR   "CreateNRPProtobufOps"
 
#define CREATE_PROTOBUF_OPS(proto_ops_class)
 Create a Protobuf operations object. More...
 

Functions

template<class MSG_TYPE , class ... REMAINING_MSG_TYPES>
std::unique_ptr< gpb::Message > protobuf_ops::unpackProtoAnySubset (const gpb::Any &from)
 Attempts to unpack an Any protobuf msg to any of the template parameter classes. More...
 
template<class MSG_TYPE , class ... REMAINING_MSG_TYPES>
void protobuf_ops::setDataPackMessageDataSubset (const gpb::Message &from, EngineGrpc::DataPackMessage *to)
 Set a protobuf datapack msg data field from a protobuf message. More...
 
template<class MSG_TYPE , class ... REMAINING_MSG_TYPES>
DataPackInterfaceConstSharedPtr protobuf_ops::getDataPackInterfaceFromMessageSubset (const std::string &engineName, const EngineGrpc::DataPackMessage &from)
 Finds the type of protobuf msg contained in 'from' data field and creates a datapack from it. More...
 
template<class MSG_TYPE , class ... REMAINING_MSG_TYPES>
void protobuf_ops::setDataPackMessageFromInterfaceSubset (const DataPackInterface &from, EngineGrpc::DataPackMessage *to)
 Sets the data field of a datapack protobuf message from a datapack interface. More...
 
template<class MSG_TYPE , class ... REMAINING_MSG_TYPES>
void protobuf_ops::setTrajectoryMessageFromInterfaceSubset (const DataPackInterface &from, NrpCore::TrajectoryMessage *to)
 Sets the data field of a datapack protobuf message from a datapack interface. More...
 

Macro Definition Documentation

◆ CREATE_PROTOBUF_OPS

#define CREATE_PROTOBUF_OPS (   proto_ops_class)
Value:
extern "C" protobuf_ops::NRPProtobufOpsIface *CreateNRPProtobufOps (); \
protobuf_ops::NRPProtobufOpsIface *CreateNRPProtobufOps () { \
return new proto_ops_class(); \
}

Create a Protobuf operations object.

◆ CREATE_PROTOBUF_OPS_FCN_STR

#define CREATE_PROTOBUF_OPS_FCN_STR   "CreateNRPProtobufOps"
protobuf_ops::NRPProtobufOpsIface
Definition: protobuf_ops.h:209