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 )