objectivec_helpers.h
#include <google/protobuf/compiler/objectivec/objectivec_helpers.h>
namespace google::protobuf::compiler::objectivec
Helper functions for generating ObjectiveC code.
Classes in this file | |
---|---|
Generator options (see objectivec_generator.cc for a description of each): | |
Generate decode data needed for ObjC's GPBDecodeTextFormatName() to transform the input into the expected output. | |
Helper for parsing simple files. | |
Helper class for parsing framework import mappings and generating import statements. |
File MembersThese definitions are not part of any class. | |
---|---|
enum | ObjectiveCType |
enum | FlagType |
const char *const | ProtobufLibraryFrameworkName The name the commonly used by the library when built as a framework. more... |
std::string | EscapeTrigraphs(const std::string & to_escape) Escape C++ trigraphs by escaping question marks to "\?". |
void | TrimWhitespace(StringPiece * input) Remove white space from either end of a StringPiece. |
bool | IsRetainedName(const std::string & name) Returns true if the name requires a ns_returns_not_retained attribute applied to it. |
bool | IsInitName(const std::string & name) Returns true if the name starts with "init" and will need to have special handling under ARC. |
std::string | FileClassPrefix(const FileDescriptor * file) Gets the objc_class_prefix. |
std::string | FilePath(const FileDescriptor * file) Gets the path of the file we're going to generate (sans the .pb.h extension). more... |
std::string | FilePathBasename(const FileDescriptor * file) Just like FilePath(), but without the directory part. |
std::string | FileClassName(const FileDescriptor * file) Gets the name of the root class we'll generate in the file. more... |
std::string | ClassName(const Descriptor * descriptor) These return the fully-qualified class name corresponding to the given descriptor. |
std::string | ClassName(const Descriptor * descriptor, std::string * out_suffix_added) |
std::string | EnumName(const EnumDescriptor * descriptor) |
std::string | EnumValueName(const EnumValueDescriptor * descriptor) Returns the fully-qualified name of the enum value corresponding to the the descriptor. |
std::string | EnumValueShortName(const EnumValueDescriptor * descriptor) Returns the name of the enum value corresponding to the descriptor. |
std::string | UnCamelCaseEnumShortName(const std::string & name) Reverse what an enum does. |
std::string | ExtensionMethodName(const FieldDescriptor * descriptor) Returns the name to use for the extension (used as the method off the file's Root class). |
std::string | FieldName(const FieldDescriptor * field) Returns the transformed field name. |
std::string | FieldNameCapitalized(const FieldDescriptor * field) |
std::string | OneofEnumName(const OneofDescriptor * descriptor) Returns the transformed oneof name. |
std::string | OneofName(const OneofDescriptor * descriptor) |
std::string | OneofNameCapitalized(const OneofDescriptor * descriptor) |
std::string | ObjCClass(const std::string & class_name) Returns a symbol that can be used in C code to refer to an Objective C class without initializing the class. |
std::string | ObjCClassDeclaration(const std::string & class_name) Declares an Objective C class without initializing the class so that it can be refrerred to by ObjCClass. |
bool | HasPreservingUnknownEnumSemantics(const FileDescriptor * file) |
bool | IsMapEntryMessage(const Descriptor * descriptor) |
std::string | UnCamelCaseFieldName(const std::string & name, const FieldDescriptor * field) Reverse of the above. |
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) Builds HeaderDoc/appledoc style comments out of the comments in the .proto file. |
std::string | ProtobufFrameworkImportSymbol(const std::string & framework_name) Returns the CPP symbol name to use as the gate for framework style imports for the given framework name to use. |
bool | IsProtobufLibraryBundledProtoFile(const FileDescriptor * file) Checks if the file is one of the proto's bundled with the library. |
bool | ValidateObjCClassPrefixes(const std::vector< const FileDescriptor * > & files, const Options & generation_options, std::string * out_error) Checks the prefix for the given files and outputs any warnings as needed. more... |
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,
OBJECTIVECTYPE_FLOAT,
OBJECTIVECTYPE_DOUBLE,
OBJECTIVECTYPE_BOOLEAN,
OBJECTIVECTYPE_STRING,
OBJECTIVECTYPE_DATA,
OBJECTIVECTYPE_ENUM,
OBJECTIVECTYPE_MESSAGE
}
OBJECTIVECTYPE_INT32 | |
OBJECTIVECTYPE_UINT32 | |
OBJECTIVECTYPE_INT64 | |
OBJECTIVECTYPE_UINT64 | |
OBJECTIVECTYPE_FLOAT | |
OBJECTIVECTYPE_DOUBLE | |
OBJECTIVECTYPE_BOOLEAN | |
OBJECTIVECTYPE_STRING | |
OBJECTIVECTYPE_DATA | |
OBJECTIVECTYPE_ENUM | |
OBJECTIVECTYPE_MESSAGE |
enum objectivec::FlagType {
FLAGTYPE_DESCRIPTOR_INITIALIZATION,
FLAGTYPE_EXTENSION,
FLAGTYPE_FIELD
}
FLAGTYPE_DESCRIPTOR_INITIALIZATION,
FLAGTYPE_EXTENSION,
FLAGTYPE_FIELD
}
FLAGTYPE_DESCRIPTOR_INITIALIZATION | |
FLAGTYPE_EXTENSION | |
FLAGTYPE_FIELD |
const char *const objectivec::ProtobufLibraryFrameworkName
The name the commonly used by the library when built as a framework.
This lines up to the name used in the CocoaPod.
std::string objectivec::FilePath(
const FileDescriptor * file)
const FileDescriptor * file)
Gets the path of the file we're going to generate (sans the .pb.h extension).
The path will be dependent on the objectivec package declared in the proto package.
std::string objectivec::FileClassName(
const FileDescriptor * file)
const FileDescriptor * file)
Gets the name of the root class we'll generate in the file.
This class is not meant for external consumption, but instead contains helpers that the rest of the classes need
bool objectivec::ValidateObjCClassPrefixes(
const std::vector< const FileDescriptor * > & files,
const Options & generation_options,
std::string * out_error)
const std::vector< const FileDescriptor * > & files,
const Options & generation_options,
std::string * out_error)
Checks the prefix for the given files and outputs any warnings as needed.
If there are flat out errors, then out_error is filled in with the first error and the result is false.
struct Options
#include <google/protobuf/compiler/objectivec/objectivec_helpers.h>
namespace google::protobuf::compiler::objectivec
Generator options (see objectivec_generator.cc for a description of each):
Members | |
---|---|
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() |
class TextFormatDecodeData
#include <google/protobuf/compiler/objectivec/objectivec_helpers.h>
namespace google::protobuf::compiler::objectivec
Generate decode data needed for ObjC's GPBDecodeTextFormatName() to transform the input into the expected output.
Members | |
---|---|
| 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) |
class LineConsumer
#include <google/protobuf/compiler/objectivec/objectivec_helpers.h>
namespace google::protobuf::compiler::objectivec
Helper for parsing simple files.
Members | |
---|---|
| LineConsumer() |
virtual | ~LineConsumer() |
virtual bool | ConsumeLine(const StringPiece & line, std::string * out_error) = 0 |
class ImportWriter
#include <google/protobuf/compiler/objectivec/objectivec_helpers.h>
namespace google::protobuf::compiler::objectivec
Helper class for parsing framework import mappings and generating import statements.
Members | |
---|---|
| 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) |