OBSERVAÇÃO:este site foi descontinuado. O site será desativado após 31 de janeiro de 2023, e o tráfego será redirecionado para o novo site em https://protobuf.dev. Enquanto isso, as atualizações serão feitas apenas para protobuf.dev.

objetivochelpers.h

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

#include <google/protobuf/compiler/objectivec/objectivec_helpers.h>
namespace google::protobuf::compiler::objectivec

Funções auxiliares para gerar o código ObjectiveC.

Turmas neste arquivo

Opções do gerador (consulte objetivoc_generator.cc para ver uma descrição de cada):
Gere os dados de decodificação necessários para o GPBDecodeTextFormatName() do ObjC para transformar a entrada na saída esperada.
Ajuda para analisar arquivos simples.
Classe auxiliar para analisar mapeamentos de importação do framework e gerar instruções de importação.

Participantes do arquivo

Essas definições não fazem parte de nenhuma classe.
enum
ObjectiveCType
enum
FlagType
const char *const
ProtobufLibraryFrameworkName
É o nome mais usado pela biblioteca quando criado como framework. mais…
std::string
EscapeTrigraphs(const std::string & to_escape)
Escape de trigrafos C++ fazendo o escape de pontos de interrogação para "\?".
void
TrimWhitespace(StringPiece * input)
Remova o espaço em branco de cada extremidade de um StringPiece.
bool
IsRetainedName(const std::string & name)
Retornará verdadeiro se o nome exigir um atributo ns_returns_not_retained aplicado a ele.
bool
IsInitName(const std::string & name)
Retorna "true" se o nome começa com "init" e precisa ter processamento especial na ARC.
std::string
FileClassPrefix(const FileDescriptor * file)
Recebe o prefixo objc_class_prefix.
std::string
FilePath(const FileDescriptor * file)
Acessa o caminho do arquivo que será gerado (que usa a extensão .pb.h). mais…
std::string
FilePathBasename(const FileDescriptor * file)
Assim como FilePath(), mas sem a parte do diretório.
std::string
FileClassName(const FileDescriptor * file)
Recebe o nome da classe raiz que será gerada no arquivo. mais…
std::string
ClassName(const Descriptor * descriptor)
Retornam o nome da classe totalmente qualificado correspondente ao descritor especificado.
std::string
ClassName(const Descriptor * descriptor, std::string * out_suffix_added)
std::string
EnumName(const EnumDescriptor * descriptor)
std::string
EnumValueName(const EnumValueDescriptor * descriptor)
Retorna o nome totalmente qualificado do valor de enumeração correspondente ao descritor.
std::string
EnumValueShortName(const EnumValueDescriptor * descriptor)
Retorna o nome do valor de enumeração correspondente ao descritor.
std::string
UnCamelCaseEnumShortName(const std::string & name)
Inverta o que uma enumeração faz.
std::string
ExtensionMethodName(const FieldDescriptor * descriptor)
Retorna o nome a ser usado na extensão (usado como o método fora da classe raiz do arquivo).
std::string
FieldName(const FieldDescriptor * field)
Retorna o nome do campo transformado.
std::string
FieldNameCapitalized(const FieldDescriptor * field)
std::string
OneofEnumName(const OneofDescriptor * descriptor)
Retorna o nome único transformado.
std::string
OneofName(const OneofDescriptor * descriptor)
std::string
OneofNameCapitalized(const OneofDescriptor * descriptor)
std::string
ObjCClass(const std::string & class_name)
Retorna um símbolo que pode ser usado no código C para se referir a uma classe C do objetivo sem inicializar a classe.
std::string
ObjCClassDeclaration(const std::string & class_name)
Declara uma classe Objective C sem inicializar a classe para que ela possa ser refretada pela ObjCClass.
bool
HasPreservingUnknownEnumSemantics(const FileDescriptor * file)
bool
IsMapEntryMessage(const Descriptor * descriptor)
std::string
UnCamelCaseFieldName(const std::string & name, const FieldDescriptor * field)
O contrário
template std::string
GetOptionalDeprecatedAttribute(const TDescriptor * descriptor, const FileDescriptor * file = NULL, bool preSpace = true, bool postNewline = false)
std::string
GetCapitalizedType(const FieldDescriptor * field)
ObjectiveCType
GetObjectiveCType(FieldDescriptor::Type field_type)
ObjectiveCType
GetObjectiveCType(const FieldDescriptor * field)
bool
IsPrimitiveType(const FieldDescriptor * field)
bool
IsReferenceType(const FieldDescriptor * field)
std::string
GPBGenericValueFieldName(const FieldDescriptor * field)
std::string
DefaultValue(const FieldDescriptor * field)
bool
HasNonZeroDefaultValue(const FieldDescriptor * field)
std::string
BuildFlagsString(const FlagType type, const std::vector< std::string > & strings)
std::string
BuildCommentsString(const SourceLocation & location, bool prefer_single_line)
Cria comentários no estilo HeaderDoc/appledoc com base nos comentários do arquivo .proto.
std::string
ProtobufFrameworkImportSymbol(const std::string & framework_name)
Retorna o nome do símbolo de CPP a ser usado como o portão de importações de estilo do framework para o nome do framework especificado a ser usado.
bool
IsProtobufLibraryBundledProtoFile(const FileDescriptor * file)
Verifica se o arquivo é um dos proto incluídos na biblioteca.
bool
ValidateObjCClassPrefixes(const std::vector< const FileDescriptor * > & files, const Options & generation_options, std::string * out_error)
Verifica o prefixo dos arquivos fornecidos e gera alertas conforme necessário. mais…
bool
ParseSimpleFile(const std::string & path, LineConsumer * line_consumer, std::string * out_error)

enum objectivec::ObjectiveCType {
  OBJECTIVECTYPE_INT32,
  OBJECTIVECTYPE_UINT32,
  OBJECTIVECTYPE_INT64,
  OBJECTIVECTYPE_UINT64,
  OBJECTIVECTYPE_FLOAT,
  OBJECTIVECTYPE_DOUBLE,
  OBJECTIVECTYPE_BOOLEAN,
  OBJECTIVECTYPE_STRING,
  OBJECTIVECTYPE_DATA,
  OBJECTIVECTYPE_ENUM,
  OBJECTIVECTYPE_MESSAGE
}

OBJECTIVECTYPE_INT32
OBJECTIVECTYPE_UINT32
OBJECTIVECTYPE_INT64
OBJECTIVECTYPE_UINT64
OBJETIVO_TIPO
OBJECTIVECTYPE_DOUBLE
OBJETIVO_TIPO_BOOLEANO
OBJECTIVECTYPE_STRING
OBJETO
OBJECTIVECTYPE_ENUM
OBJECTIVECTYPE_MESSAGE

enum objectivec::FlagType {
  FLAGTYPE_DESCRIPTOR_INITIALIZATION,
  FLAGTYPE_EXTENSION,
  FLAGTYPE_FIELD
}

FLAGTYPE_DESCRIPTOR_INITIALIZATION
FLAGTYPE_EXTENSION
FLAGTYPE_FIELD

const char *const objectivec::ProtobufLibraryFrameworkName

É o nome mais usado pela biblioteca quando criado como framework.

Isso se alinha ao nome usado no CocoaPod.


std::string objectivec::FilePath(
        const FileDescriptor * file)

Acessa o caminho do arquivo que será gerado (que usa a extensão .pb.h).

O caminho depende do pacote do objetivo declarado no pacote proto.


std::string objectivec::FileClassName(
        const FileDescriptor * file)

Recebe o nome da classe raiz que será gerada no arquivo.

Essa classe não se destina ao consumo externo, mas contém auxiliares que o restante das classes precisa.


bool objectivec::ValidateObjCClassPrefixes(
        const std::vector< const FileDescriptor * > & files,
        const Options & generation_options,
        std::string * out_error)

Verifica o prefixo dos arquivos fornecidos e gera alertas conforme necessário.

Se houver erros de eliminação, out_error será preenchido com o primeiro erro, e o resultado será falso.

Opções de struct

#include <google/protobuf/compiler/objectivec/objectivec_helpers.h>
namespace google::protobuf::compiler::objectivec

Opções do gerador (consulte objetivoc_generator.cc para ver uma descrição de cada):

Participantes

std::string
expected_prefixes_path
std::vector< std::string >
expected_prefixes_suppressions
std::string
generate_for_named_framework
std::string
named_framework_to_proto_path_mappings_path
std::string
runtime_import_prefix
Options()

classe TextFormatDecodeData

#include <google/protobuf/compiler/objectivec/objectivec_helpers.h>
namespace google::protobuf::compiler::objectivec

Gere os dados de decodificação necessários para o GPBDecodeTextFormatName() do ObjC para transformar a entrada na saída esperada.

Participantes

TextFormatDecodeData()
~TextFormatDecodeData()
TextFormatDecodeData(const TextFormatDecodeData & )
TextFormatDecodeData &
operator=(const TextFormatDecodeData & )
void
AddString(int32 key, const std::string & input_for_decode, const std::string & desired_output)
size_t
num_entries() const
std::string
Data() const
static std::string
DecodeDataForString(const std::string & input_for_decode, const std::string & desired_output)

classe LineConsumer

#include <google/protobuf/compiler/objectivec/objectivec_helpers.h>
namespace google::protobuf::compiler::objectivec

Ajuda para analisar arquivos simples.

Participantes

LineConsumer()
virtual
~LineConsumer()
virtual bool
ConsumeLine(const StringPiece & line, std::string * out_error) = 0

classe ImportWriter

#include <google/protobuf/compiler/objectivec/objectivec_helpers.h>
namespace google::protobuf::compiler::objectivec

Classe auxiliar para analisar mapeamentos de importação do framework e gerar instruções de importação.

Participantes

ImportWriter(const std::string & generate_for_named_framework, const std::string & named_framework_to_proto_path_mappings_path, const std::string & runtime_import_prefix, bool include_wkt_imports)
~ImportWriter()
void
AddFile(const FileDescriptor * file, const std::string & header_extension)
void
Print(io::Printer * printer) const
static void
PrintRuntimeImports(io::Printer * printer, const std::vector< std::string > & header_to_import, const std::string & runtime_import_prefix, bool default_cpp_symbol = false)