webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Properties | List of all members
GPBMixin Class Reference

#import <Api.pbobjc.h>

Inheritance diagram for GPBMixin:
GPBMessage NSObject

Properties

NSStringname
 The fully qualified name of the API which is included. More...
 
NSStringroot
 
- Properties inherited from GPBMessage
GPBUnknownFieldSetunknownFields
 
BOOL initialized
 Are all required fields set in the message and all embedded messages. More...
 

Additional Inherited Members

- Instance Methods inherited from GPBMessage
(instancetype) - initWithData:error:
 
(instancetype) - initWithData:extensionRegistry:error:
 
(instancetype) - initWithCodedInputStream:extensionRegistry:error:
 
(void- writeToCodedOutputStream:
 Writes out the message to the given output stream. More...
 
(void- writeToOutputStream:
 Writes out the message to the given output stream. More...
 
(void- writeDelimitedToCodedOutputStream:
 
(void- writeDelimitedToOutputStream:
 
(nullable NSData *) - data
 
(NSData *) - delimitedData
 
(size_t- serializedSize
 
(GPBDescriptor *) - descriptor
 Return the descriptor for the message. More...
 
(BOOL- hasExtension:
 Test to see if the given extension is set on the message. More...
 
(nullable id- getExtension:
 
(void- setExtension:value:
 
(void- addExtension:value:
 
(void- setExtension:index:value:
 
(void- clearExtension:
 Clears the given extension for this message. More...
 
(void- clear
 Resets all of the fields of this message to their default values. More...
 
(void- mergeFromData:extensionRegistry:
 
(void- mergeFrom:
 
- Class Methods inherited from GPBMessage
(instancetype) + message
 Returns an autoreleased instance. More...
 
(instancetype) + parseFromData:error:
 
(instancetype) + parseFromData:extensionRegistry:error:
 
(instancetype) + parseFromCodedInputStream:extensionRegistry:error:
 
(instancetype) + parseDelimitedFromCodedInputStream:extensionRegistry:error:
 
(GPBDescriptor *) + descriptor
 Return the descriptor for the message class. More...
 

Detailed Description

Declares an API to be included in this API. The including API must redeclare all the methods from the included API, but documentation and options are inherited as follows:

Example of a simple mixin:

package google.acl.v1;
service AccessControl {
  // Get the underlying ACL object.
  rpc GetAcl(GetAclRequest) returns (Acl) {
    option (google.api.http).get = "/v1/{resource=**}:getAcl";
  }
}

package google.storage.v2;
service Storage {
  rpc GetAcl(GetAclRequest) returns (Acl);

  // Get a data record.
  rpc GetData(GetDataRequest) returns (Data) {
    option (google.api.http).get = "/v2/{resource=**}";
  }
}

Example of a mixin configuration:

apis:
- name: google.storage.v2.Storage
  mixins:
  - name: google.acl.v1.AccessControl

The mixin construct implies that all methods in AccessControl are also declared with same name and request/response types in Storage. A documentation generator or annotation processor will see the effective Storage.GetAcl method after inherting documentation and annotations as follows:

service Storage {
  // Get the underlying ACL object.
  rpc GetAcl(GetAclRequest) returns (Acl) {
    option (google.api.http).get = "/v2/{resource=**}:getAcl";
  }
  ...
}

Note how the version in the path pattern changed from v1 to v2.

If the root field in the mixin is specified, it should be a relative path under which inherited HTTP paths are placed. Example:

apis:
- name: google.storage.v2.Storage
  mixins:
  - name: google.acl.v1.AccessControl
    root: acls

This implies the following inherited HTTP annotation:

service Storage {
  // Get the underlying ACL object.
  rpc GetAcl(GetAclRequest) returns (Acl) {
    option (google.api.http).get = "/v2/acls/{resource=**}:getAcl";
  }
  ...
}  

Property Documentation

◆ name

- (NSString*) name
readwritenonatomiccopy

The fully qualified name of the API which is included.

◆ root

- (NSString*) root
readwritenonatomiccopy

If non-empty specifies a path under which inherited HTTP paths are rooted.


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