%module{Google::ProtocolBuffers::Dynamic};
#include "perl_unpollute.h"
#include "dynamic.h"
%name{Google::ProtocolBuffers::Dynamic} class gpd::Dynamic {
Dynamic(std::string root_directory = std::string());
~Dynamic() %code{% THIS->unref(); %};
void load_file(const std::string &file)
%code{% THIS->load_file(aTHX_ *file); %};
void load_string(const std::string &file, SV *sv)
%code{% THIS->load_string(aTHX_ *file, sv); %};
void load_serialized_string(SV *sv)
%code{% THIS->load_serialized_string(aTHX_ sv); %};
// options is only useful when testing
void map_wkts(SV *options = NULL)
%code{% THIS->map_wkts(aTHX_ gpd::MappingOptions(aTHX_ options)); %};
void map_message(const std::string &message, const std::string &perl_package, SV *options = NULL)
%code{% THIS->map_message(aTHX_ *message, *perl_package, gpd::MappingOptions(aTHX_ options)); %};
void map_enum(const std::string &enum_name, const std::string &perl_package, SV *options = NULL)
%code{% THIS->map_enum(aTHX_ *enum_name, *perl_package, gpd::MappingOptions(aTHX_ options)); %};
void map_service(const std::string &service_name, const std::string &perl_package, SV *options = NULL)
%code{% THIS->map_service(aTHX_ *service_name, *perl_package, gpd::MappingOptions(aTHX_ options)); %};
void map_package(const std::string &pb_package, const std::string &perl_package, SV *options = NULL)
%code{% THIS->map_package(aTHX_ *pb_package, *perl_package, gpd::MappingOptions(aTHX_ options)); %};
void map_package_prefix(const std::string &pb_package, const std::string &perl_package, SV *options = NULL)
%code{% THIS->map_package_prefix(aTHX_ *pb_package, *perl_package, gpd::MappingOptions(aTHX_ options)); %};
void map_message_prefix(const std::string &pb_message, const std::string &perl_package_prefix, SV *options = NULL)
%code{% THIS->map_message_prefix(aTHX_ *pb_message, *perl_package_prefix, gpd::MappingOptions(aTHX_ options)); %};
void resolve_references();
static bool is_proto3();
static bool has_proto3_optional();
};