Instance Methods | Class Methods | Properties | List of all members
GPBAny Class Reference

#import <Any.pbobjc.h>

Inheritance diagram for GPBAny:
Inheritance graph
[legend]

Instance Methods

(nullable instancetype) - initWithMessage:error:
 
(nullable instancetype) - initWithMessage:error:
 
(nullable instancetype) - initWithMessage:typeURLPrefix:error:
 
(nullable instancetype) - initWithMessage:typeURLPrefix:error:
 
(BOOL- packWithMessage:error:
 
(BOOL- packWithMessage:error:
 
(BOOL- packWithMessage:typeURLPrefix:error:
 
(BOOL- packWithMessage:typeURLPrefix:error:
 
(nullable GPBMessage *) - unpackMessageClass:error:
 
(nullable GPBMessage *) - unpackMessageClass:error:
 
- Instance Methods inherited from GPBMessage
(void) - addExtension:value:
 
(void) - addExtension:value:
 
(void) - addUnknownMapEntry:value: [implementation]
 
(void) - addUnknownMapEntry:value: [implementation]
 
(void) - clear
 
(void) - clear
 
(void) - clearExtension:
 
(void) - clearExtension:
 
(nullable NSData *) - data
 
(nullable NSData *) - data
 
(NSData *) - delimitedData
 
(NSData *) - delimitedData
 
(GPBDescriptor *) - descriptor
 
(GPBDescriptor *) - descriptor
 
(NSArray *) - extensionsCurrentlySet
 
(NSArray *) - extensionsCurrentlySet
 
(id- getExistingExtension: [implementation]
 
(id- getExistingExtension: [implementation]
 
(nullable id- getExtension:
 
(nullable id- getExtension:
 
(BOOL- hasExtension:
 
(BOOL- hasExtension:
 
(nullable instancetype) - initWithCodedInputStream:extensionRegistry:error:
 
(nullable instancetype) - initWithCodedInputStream:extensionRegistry:error:
 
(nullable instancetype) - initWithData:error:
 
(nullable instancetype) - initWithData:error:
 
(nullable instancetype) - initWithData:extensionRegistry:error:
 
(nullable instancetype) - initWithData:extensionRegistry:error:
 
(void) - mergeDelimitedFromCodedInputStream:extensionRegistry: [implementation]
 
(void) - mergeDelimitedFromCodedInputStream:extensionRegistry: [implementation]
 
(void) - mergeFrom:
 
(void) - mergeFrom:
 
(void) - mergeFromCodedInputStream:extensionRegistry: [implementation]
 
(void) - mergeFromCodedInputStream:extensionRegistry: [implementation]
 
(void) - mergeFromData:extensionRegistry:
 
(void) - mergeFromData:extensionRegistry:
 
(size_t) - serializedSize
 
(size_t) - serializedSize
 
(void) - setExtension:index:value:
 
(void) - setExtension:index:value:
 
(void) - setExtension:value:
 
(void) - setExtension:value:
 
(void) - writeDelimitedToCodedOutputStream:
 
(void) - writeDelimitedToCodedOutputStream:
 
(void) - writeDelimitedToOutputStream:
 
(void) - writeDelimitedToOutputStream:
 
(void) - writeToCodedOutputStream:
 
(void) - writeToCodedOutputStream:
 
(void) - writeToOutputStream:
 
(void) - writeToOutputStream:
 

Class Methods

(nullable instancetype) + anyWithMessage:error:
 
(nullable instancetype) + anyWithMessage:error:
 
(nullable instancetype) + anyWithMessage:typeURLPrefix:error:
 
(nullable instancetype) + anyWithMessage:typeURLPrefix:error:
 
- Class Methods inherited from GPBMessage
(GPBDescriptor *) + descriptor
 
(GPBDescriptor *) + descriptor
 
(instancetype) + message
 
(instancetype) + message
 
(nullable instancetype) + parseDelimitedFromCodedInputStream:extensionRegistry:error:
 
(nullable instancetype) + parseDelimitedFromCodedInputStream:extensionRegistry:error:
 
(nullable instancetype) + parseFromCodedInputStream:extensionRegistry:error:
 
(nullable instancetype) + parseFromCodedInputStream:extensionRegistry:error:
 
(nullable instancetype) + parseFromData:error:
 
(nullable instancetype) + parseFromData:error:
 
(nullable instancetype) + parseFromData:extensionRegistry:error:
 
(nullable instancetype) + parseFromData:extensionRegistry:error:
 

Properties

NSString * typeURL
 
NSData * value
 
- Properties inherited from GPBMessage
BOOL initialized
 
GPBUnknownFieldSetunknownFields
 

Additional Inherited Members

- Protected Attributes inherited from GPBMessage
package GPBMessage_StoragePtr messageStorage_
 

Detailed Description

Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}

Example 2: Pack and unpack a message in Java.

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}

Example 3: Pack and unpack a message in Python.

foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...

Example 4: Pack and unpack a message in Go

foo := &pb.Foo{...}
any, err := ptypes.MarshalAny(foo)
...
foo := &pb.Foo{}
if err := ptypes.UnmarshalAny(any, foo); err != nil {
  ...
}

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

JSON

The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field \@type which contains the type URL. Example:

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}

{
  "\@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the \@type field. Example (for message [google.protobuf.Duration][]):

{
  "\@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}

Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
  ...
}

Example 2: Pack and unpack a message in Java.

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}

Example 3: Pack and unpack a message in Python.

foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...

Example 4: Pack and unpack a message in Go

foo := &pb.Foo{...}
any, err := anypb.New(foo)
if err != nil {
  ...
}
...
foo := &pb.Foo{}
if err := any.UnmarshalTo(foo); err != nil {
  ...
}

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

JSON

The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field \@type which contains the type URL. Example:

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}

{
  "\@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the \@type field. Example (for message [google.protobuf.Duration][]):

{
  "\@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}

Definition at line 139 of file bloaty/third_party/protobuf/objectivec/google/protobuf/Any.pbobjc.h.

Method Documentation

◆ anyWithMessage:error: [1/2]

+ (nullable instancetype) anyWithMessage: (nonnull GPBMessage *)  message
error: (NSError **)  errorPtr 

Convenience method to create a GPBAny containing the serialized message. This uses type.googleapis.com/ as the type_url's prefix.

Parameters
messageThe message to be packed into the GPBAny.
errorPtrPointer to an error that will be populated if something goes wrong.
Returns
A newly configured GPBAny with the given message, or nil on failure.

Provided by category GPBAny(GBPWellKnownTypes).

◆ anyWithMessage:error: [2/2]

+ (nullable instancetype) anyWithMessage: (nonnull GPBMessage *)  message
error: (NSError **)  errorPtr 

Convenience method to create a GPBAny containing the serialized message. This uses type.googleapis.com/ as the type_url's prefix.

Parameters
messageThe message to be packed into the GPBAny.
errorPtrPointer to an error that will be populated if something goes wrong.
Returns
A newly configured GPBAny with the given message, or nil on failure.

Provided by category GPBAny(GBPWellKnownTypes).

◆ anyWithMessage:typeURLPrefix:error: [1/2]

+ (nullable instancetype) anyWithMessage: (nonnull GPBMessage *)  message
typeURLPrefix: (nonnull NSString *)  typeURLPrefix
error: (NSError **)  errorPtr 

Convenience method to create a GPBAny containing the serialized message.

Parameters
messageThe message to be packed into the GPBAny.
typeURLPrefixThe URL prefix to apply for type_url.
errorPtrPointer to an error that will be populated if something goes wrong.
Returns
A newly configured GPBAny with the given message, or nil on failure.

Provided by category GPBAny(GBPWellKnownTypes).

◆ anyWithMessage:typeURLPrefix:error: [2/2]

+ (nullable instancetype) anyWithMessage: (nonnull GPBMessage *)  message
typeURLPrefix: (nonnull NSString *)  typeURLPrefix
error: (NSError **)  errorPtr 

Convenience method to create a GPBAny containing the serialized message.

Parameters
messageThe message to be packed into the GPBAny.
typeURLPrefixThe URL prefix to apply for type_url.
errorPtrPointer to an error that will be populated if something goes wrong.
Returns
A newly configured GPBAny with the given message, or nil on failure.

Provided by category GPBAny(GBPWellKnownTypes).

◆ initWithMessage:error: [1/2]

- (nullable instancetype) initWithMessage: (nonnull GPBMessage *)  message
error: (NSError **)  errorPtr 

Initializes a GPBAny to contain the serialized message. This uses type.googleapis.com/ as the type_url's prefix.

Parameters
messageThe message to be packed into the GPBAny.
errorPtrPointer to an error that will be populated if something goes wrong.
Returns
A newly configured GPBAny with the given message, or nil on failure.

Provided by category GPBAny(GBPWellKnownTypes).

◆ initWithMessage:error: [2/2]

- (nullable instancetype) initWithMessage: (nonnull GPBMessage *)  message
error: (NSError **)  errorPtr 

Initializes a GPBAny to contain the serialized message. This uses type.googleapis.com/ as the type_url's prefix.

Parameters
messageThe message to be packed into the GPBAny.
errorPtrPointer to an error that will be populated if something goes wrong.
Returns
A newly configured GPBAny with the given message, or nil on failure.

Provided by category GPBAny(GBPWellKnownTypes).

◆ initWithMessage:typeURLPrefix:error: [1/2]

- (nullable instancetype) initWithMessage: (nonnull GPBMessage *)  message
typeURLPrefix: (nonnull NSString *)  typeURLPrefix
error: (NSError **)  errorPtr 

Initializes a GPBAny to contain the serialized message.

Parameters
messageThe message to be packed into the GPBAny.
typeURLPrefixThe URL prefix to apply for type_url.
errorPtrPointer to an error that will be populated if something goes wrong.
Returns
A newly configured GPBAny with the given message, or nil on failure.

Provided by category GPBAny(GBPWellKnownTypes).

◆ initWithMessage:typeURLPrefix:error: [2/2]

- (nullable instancetype) initWithMessage: (nonnull GPBMessage *)  message
typeURLPrefix: (nonnull NSString *)  typeURLPrefix
error: (NSError **)  errorPtr 

Initializes a GPBAny to contain the serialized message.

Parameters
messageThe message to be packed into the GPBAny.
typeURLPrefixThe URL prefix to apply for type_url.
errorPtrPointer to an error that will be populated if something goes wrong.
Returns
A newly configured GPBAny with the given message, or nil on failure.

Provided by category GPBAny(GBPWellKnownTypes).

◆ packWithMessage:error: [1/2]

- (BOOL) packWithMessage: (nonnull GPBMessage *)  message
error: (NSError **)  errorPtr 

Packs the serialized message into this GPBAny. This uses type.googleapis.com/ as the type_url's prefix.

Parameters
messageThe message to be packed into the GPBAny.
errorPtrPointer to an error that will be populated if something goes wrong.
Returns
Whether the packing was successful or not.

Provided by category GPBAny(GBPWellKnownTypes).

◆ packWithMessage:error: [2/2]

- (BOOL) packWithMessage: (nonnull GPBMessage *)  message
error: (NSError **)  errorPtr 

Packs the serialized message into this GPBAny. This uses type.googleapis.com/ as the type_url's prefix.

Parameters
messageThe message to be packed into the GPBAny.
errorPtrPointer to an error that will be populated if something goes wrong.
Returns
Whether the packing was successful or not.

Provided by category GPBAny(GBPWellKnownTypes).

◆ packWithMessage:typeURLPrefix:error: [1/2]

- (BOOL) packWithMessage: (nonnull GPBMessage *)  message
typeURLPrefix: (nonnull NSString *)  typeURLPrefix
error: (NSError **)  errorPtr 

Packs the serialized message into this GPBAny.

Parameters
messageThe message to be packed into the GPBAny.
typeURLPrefixThe URL prefix to apply for type_url.
errorPtrPointer to an error that will be populated if something goes wrong.
Returns
Whether the packing was successful or not.

Provided by category GPBAny(GBPWellKnownTypes).

◆ packWithMessage:typeURLPrefix:error: [2/2]

- (BOOL) packWithMessage: (nonnull GPBMessage *)  message
typeURLPrefix: (nonnull NSString *)  typeURLPrefix
error: (NSError **)  errorPtr 

Packs the serialized message into this GPBAny.

Parameters
messageThe message to be packed into the GPBAny.
typeURLPrefixThe URL prefix to apply for type_url.
errorPtrPointer to an error that will be populated if something goes wrong.
Returns
Whether the packing was successful or not.

Provided by category GPBAny(GBPWellKnownTypes).

◆ unpackMessageClass:error: [1/2]

- (nullable GPBMessage *) unpackMessageClass: (Class)  messageClass
error: (NSError **)  errorPtr 

Unpacks the serialized message as if it was an instance of the given class.

Note
When checking type_url, the base URL is not checked, only the fully qualified name.
Parameters
messageClassThe class to use to deserialize the contained message.
errorPtrPointer to an error that will be populated if something goes wrong.
Returns
An instance of the given class populated with the contained data, or nil on failure.

Provided by category GPBAny(GBPWellKnownTypes).

◆ unpackMessageClass:error: [2/2]

- (nullable GPBMessage *) unpackMessageClass: (Class)  messageClass
error: (NSError **)  errorPtr 

Unpacks the serialized message as if it was an instance of the given class.

Note
When checking type_url, the base URL is not checked, only the fully qualified name.
Parameters
messageClassThe class to use to deserialize the contained message.
errorPtrPointer to an error that will be populated if something goes wrong.
Returns
An instance of the given class populated with the contained data, or nil on failure.

Provided by category GPBAny(GBPWellKnownTypes).

Property Documentation

◆ typeURL

- (NSString *) typeURL
readwritenonatomiccopy

A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in path/google.protobuf.Duration). The name should be in a canonical form (e.g., leading "." is not accepted).

In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme http, https, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:

  • If no scheme is provided, https is assumed.
  • An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error.
  • Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)

Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.

Schemes other than http, https (or the empty scheme) might be used with implementation specific semantics.

Definition at line 170 of file bloaty/third_party/protobuf/objectivec/google/protobuf/Any.pbobjc.h.

◆ value

- (NSData *) value
readwritenonatomiccopy

Must be a valid serialized protocol buffer of the above specified type.

Definition at line 173 of file bloaty/third_party/protobuf/objectivec/google/protobuf/Any.pbobjc.h.


The documentation for this class was generated from the following files:


grpc
Author(s):
autogenerated on Fri May 16 2025 03:01:44