Workspace 7.0.2
|
#include "Workspace/DataExecution/DataObjects/simpleadaptor.h"
#include "Workspace/DataExecution/DataObjects/typeddatafactory.h"
#include "Workspace/DataExecution/DataObjects/typedobject.h"
#include "Workspace/DataExecution/DataObjects/datafactorytraits.h"
#include "Workspace/DataExecution/DataObjects/derivedtobaseadaptor.h"
#include "protobufplugin_api.h"
Classes | |
class | ProtobufAdaptors< T, false, false > |
class | ProtobufAdaptors< T, true, false > |
class | ProtobufAdaptors< T, true, true > |
class | ProtobufAdaptorsBase |
Namespaces | |
namespace | CSIRO |
Top level namespace for all Workspace code. | |
namespace | CSIRO::Protobuf |
namespace | |
namespace | google::protobuf |
Macros | |
#define | DECLARE_WORKSPACE_JUST_PROTOBUF_TYPE(NameSpace, Type, API) |
#define | DECLARE_WORKSPACE_PROTOBUF_TYPE(NameSpace, Type, API) |
#define | DEFINE_WORKSPACE_JUST_PROTOBUF_TYPE(NameSpace, Type, PluginInstance, adaptorToProtobuf, adaptorFromProtobuf) |
#define | DEFINE_WORKSPACE_PROTOBUF_TYPE(NameSpace, Type, PluginInstance, adaptorToProtobuf, adaptorFromProtobuf) |
#define DECLARE_WORKSPACE_JUST_PROTOBUF_TYPE | ( | NameSpace, | |
Type, | |||
API | |||
) |
Declare the Protobuf-generated Type
in the Namespace
and additional types designed for convenient access. If there is no equivalent Workspace type declared, or if there is a relevant Workspace type but no adaptor exists between the Protobuf generated type and the Workspace equivalent type, this macro handles the declaration.
#define DECLARE_WORKSPACE_PROTOBUF_TYPE | ( | NameSpace, | |
Type, | |||
API | |||
) |
Declare the Protobuf-generated Type
within the NameSpace
, along with adaptors connecting the generated type to the Workspace type and any additional types designed for convenient access.
This macro assumes that the Protobuf generated type is located in the NameSpace::Protobuf
namespace, which is under the same namespace as the Type
. Additionally, it is assumed that the Protobuf generated type has the same class name as Type
.
For example, if Type
is in the MyApp::Data
namespace and is named DataItem
, the Protobuf generated type should be in the MyApp::Data::Protobuf
namespace and should also be named DataItem
.
Note that Namespace::Type
should have been previously declared as a Workspace type elsewhere.
#define DEFINE_WORKSPACE_JUST_PROTOBUF_TYPE | ( | NameSpace, | |
Type, | |||
PluginInstance, | |||
adaptorToProtobuf, | |||
adaptorFromProtobuf | |||
) |
Define the Protobuf-generated Type
in the Namespace
and additional types designed for convenient access.
#define DEFINE_WORKSPACE_PROTOBUF_TYPE | ( | NameSpace, | |
Type, | |||
PluginInstance, | |||
adaptorToProtobuf, | |||
adaptorFromProtobuf | |||
) |
Define the Protobuf-generated Type
within the NameSpace
, along with adaptors connecting the generated type to the Workspace type and any additional types designed for convenient access.