virtual ~SchemaPluginInterface()=default
void * ProtobufMessagePtr
Opaque pointer type for a google::protobuf::Message instance.
定义 schema_plugin_interface.h:91
void * FlatbuffersSchemaPtr
Opaque pointer type for a FlatBuffers reflection::Schema instance.
定义 schema_plugin_interface.h:100
void * ProtobufDescriptorPtr
Opaque pointer type for a google::protobuf::Descriptor.
定义 schema_plugin_interface.h:83
virtual FlatbuffersSchemaPtr search_flatbuffers_schema(const std::string &name)=0
Looks up a FlatBuffers binary-schema reflection handle by type name.
virtual std::vector< SchemaData > get_all_schemas(SchemaType schema_type=SchemaType::kUnknown)=0
Returns all imported or cached schemas filtered by schema family.
virtual ProtobufMessagePtr create_protobuf_message(const std::string &name)=0
Creates a Protobuf dynamic message prototype for the named type.
virtual FlatbuffersParserPtr create_flatbuffers_parser(const std::string &name)=0
Creates a FlatBuffers parser preloaded with the named schema.
SchemaPluginInterface()=default
virtual VersionInfo get_version_info() const =0
Returns version and build metadata for this plugin.
void * FlatbuffersParserPtr
Opaque pointer type for a runtime FlatBuffers Parser instance.
定义 schema_plugin_interface.h:108
virtual SchemaData search_schema(const std::string &name, SchemaType schema_type=SchemaType::kUnknown)=0
Finds one schema constrained by schema family.
virtual ProtobufDescriptorPtr search_protobuf_descriptor(const std::string &name)=0
Looks up a Protobuf descriptor by fully-qualified message name.
#define VLINK_DISALLOW_COPY_AND_ASSIGN(classname)
Deletes the copy constructor and copy-assignment operator of classname.
定义 macros.h:184
SchemaType
Coarse runtime schema family used by discovery, bag metadata, and proxy routing.
定义 types.h:184
@ kUnknown
Decode category is not known.
定义 types.h:185
Type-safe dynamic plugin loader with version checking and lifecycle management.
#define VLINK_PLUGIN_REGISTER(InterfaceType)
Macro to register a plugin, automatically deriving its ID from the interface type name.
定义 plugin.h:343
Carries one serialized schema blob for runtime registration or embedding.
定义 types.h:246
Plugin version and build metadata.
定义 schema_plugin_interface.h:114
std::string timestamp
Build timestamp.
定义 schema_plugin_interface.h:117
std::string version
Semantic version string.
定义 schema_plugin_interface.h:116
std::string tag
Source control tag.
定义 schema_plugin_interface.h:118
std::string name
Plugin display name.
定义 schema_plugin_interface.h:115
std::string commit_id
Source control commit hash.
定义 schema_plugin_interface.h:119
Core type definitions shared across all VLink node implementations.