Google-ProtocolBuffers-Dynamic
view release on metacpan or search on metacpan
xsp/introspection.xsp view on Meta::CPAN
const std::string &name = value_descriptor->name();
RETVAL = newSVpvn(name.data(), name.size());
} else {
RETVAL = &PL_sv_undef;
}
%};
SV *values() const %code{%
HV *values = newHV();
for (int i = 0, max = THIS->value_count(); i < max; ++i) {
const google::protobuf::EnumValueDescriptor *value_descriptor = THIS->value(i);
const std::string &name = value_descriptor->name();
SV **value = hv_fetch(values, name.data(), name.size(), 1);
sv_setiv(*value, value_descriptor->number());
}
RETVAL = newRV_noinc((SV *) values);
%};
const Google::ProtocolBuffers::Dynamic::FileDef *file() const;
const Google::ProtocolBuffers::Dynamic::EnumOptionsDef *options() const %code%{
RETVAL = gpd::intr::options_make_wrapper<gpd::intr::EnumOptionsWrapper>(aTHX_ THIS);
%};
};
%name{Google::ProtocolBuffers::Dynamic::EnumOptionsDef} class gpd::intr::EnumOptionsWrapper : public %name{Google::ProtocolBuffers::Dynamic::DescriptorOptionsDef} gpd::intr::DescriptorOptionsWrapper {
bool deprecated();
};
%name{Google::ProtocolBuffers::Dynamic::ServiceDef} class google::protobuf::ServiceDescriptor {
std::string name();
std::string full_name();
SV* methods() const %code{%
GPD_INTROSPECTION_RETURN_ARRAY(method, MethodDef);
%};
const Google::ProtocolBuffers::Dynamic::FileDef *file() const;
const Google::ProtocolBuffers::Dynamic::ServiceOptionsDef *options() const %code%{
RETVAL = gpd::intr::options_make_wrapper<gpd::intr::ServiceOptionsWrapper>(aTHX_ THIS);
%};
};
%name{Google::ProtocolBuffers::Dynamic::ServiceOptionsDef} class gpd::intr::ServiceOptionsWrapper : public %name{Google::ProtocolBuffers::Dynamic::DescriptorOptionsDef} gpd::intr::DescriptorOptionsWrapper {
bool deprecated();
};
%name{Google::ProtocolBuffers::Dynamic::MethodDef} class google::protobuf::MethodDescriptor {
std::string name();
std::string full_name();
%name{containing_service} const Google::ProtocolBuffers::Dynamic::ServiceDef *service();
const Google::ProtocolBuffers::Dynamic::MessageDef *input_type();
const Google::ProtocolBuffers::Dynamic::MessageDef *output_type();
bool client_streaming();
bool server_streaming();
const Google::ProtocolBuffers::Dynamic::FileDef *file() const;
const Google::ProtocolBuffers::Dynamic::MethodOptionsDef *options() const %code%{
RETVAL = gpd::intr::options_make_wrapper<gpd::intr::MethodOptionsWrapper>(aTHX_ THIS);
%};
};
%name{Google::ProtocolBuffers::Dynamic::MethodOptionsDef} class gpd::intr::MethodOptionsWrapper : public %name{Google::ProtocolBuffers::Dynamic::DescriptorOptionsDef} gpd::intr::DescriptorOptionsWrapper {
bool deprecated();
};
%name{Google::ProtocolBuffers::Dynamic::FileDef} class google::protobuf::FileDescriptor {
std::string name();
std::string package();
SV* dependencies() const %code{%
GPD_INTROSPECTION_RETURN_ARRAY(dependency, FileDef);
%};
SV* public_dependencies() const %code{%
GPD_INTROSPECTION_RETURN_ARRAY(public_dependency, FileDef);
%};
SV* messages() const %code{%
GPD_INTROSPECTION_RETURN_ARRAY(message_type, MessageDef);
%};
SV* enums() const %code{%
GPD_INTROSPECTION_RETURN_ARRAY(enum_type, EnumDef);
%};
SV* services() const %code{%
GPD_INTROSPECTION_RETURN_ARRAY(service, ServiceDef);
%};
SV* extensions() const %code{%
GPD_INTROSPECTION_RETURN_ARRAY(extension, FieldDef);
%};
const Google::ProtocolBuffers::Dynamic::FileOptionsDef *options() const %code%{
google::protobuf::DynamicMessageFactory *factory;
google::protobuf::Message *options_dyn;
RETVAL = NULL;
if (gpd::intr::options_make_wrapper(THIS->pool(), THIS->options(), &factory, &options_dyn)) {
RETVAL = new gpd::intr::FileOptionsWrapper(aTHX_ factory, options_dyn, &THIS->options());
}
%};
};
%name{Google::ProtocolBuffers::Dynamic::FileOptionsDef} class gpd::intr::FileOptionsWrapper : public %name{Google::ProtocolBuffers::Dynamic::DescriptorOptionsDef} gpd::intr::DescriptorOptionsWrapper {
bool deprecated();
};
%package{Google::ProtocolBuffers::Dynamic::Mapper};
%{
( run in 2.547 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )