1<?php 2# Generated by the protocol buffer compiler. DO NOT EDIT! 3# source: google/protobuf/api.proto 4 5namespace Google\Protobuf; 6 7use Google\Protobuf\Internal\GPBType; 8use Google\Protobuf\Internal\RepeatedField; 9use Google\Protobuf\Internal\GPBUtil; 10 11/** 12 * Declares an API Interface to be included in this interface. The including 13 * interface must redeclare all the methods from the included interface, but 14 * documentation and options are inherited as follows: 15 * - If after comment and whitespace stripping, the documentation 16 * string of the redeclared method is empty, it will be inherited 17 * from the original method. 18 * - Each annotation belonging to the service config (http, 19 * visibility) which is not set in the redeclared method will be 20 * inherited. 21 * - If an http annotation is inherited, the path pattern will be 22 * modified as follows. Any version prefix will be replaced by the 23 * version of the including interface plus the [root][] path if 24 * specified. 25 * Example of a simple mixin: 26 * package google.acl.v1; 27 * service AccessControl { 28 * // Get the underlying ACL object. 29 * rpc GetAcl(GetAclRequest) returns (Acl) { 30 * option (google.api.http).get = "/v1/{resource=**}:getAcl"; 31 * } 32 * } 33 * package google.storage.v2; 34 * service Storage { 35 * rpc GetAcl(GetAclRequest) returns (Acl); 36 * // Get a data record. 37 * rpc GetData(GetDataRequest) returns (Data) { 38 * option (google.api.http).get = "/v2/{resource=**}"; 39 * } 40 * } 41 * Example of a mixin configuration: 42 * apis: 43 * - name: google.storage.v2.Storage 44 * mixins: 45 * - name: google.acl.v1.AccessControl 46 * The mixin construct implies that all methods in `AccessControl` are 47 * also declared with same name and request/response types in 48 * `Storage`. A documentation generator or annotation processor will 49 * see the effective `Storage.GetAcl` method after inherting 50 * documentation and annotations as follows: 51 * service Storage { 52 * // Get the underlying ACL object. 53 * rpc GetAcl(GetAclRequest) returns (Acl) { 54 * option (google.api.http).get = "/v2/{resource=**}:getAcl"; 55 * } 56 * ... 57 * } 58 * Note how the version in the path pattern changed from `v1` to `v2`. 59 * If the `root` field in the mixin is specified, it should be a 60 * relative path under which inherited HTTP paths are placed. Example: 61 * apis: 62 * - name: google.storage.v2.Storage 63 * mixins: 64 * - name: google.acl.v1.AccessControl 65 * root: acls 66 * This implies the following inherited HTTP annotation: 67 * service Storage { 68 * // Get the underlying ACL object. 69 * rpc GetAcl(GetAclRequest) returns (Acl) { 70 * option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; 71 * } 72 * ... 73 * } 74 * 75 * Generated from protobuf message <code>google.protobuf.Mixin</code> 76 */ 77class Mixin extends \Google\Protobuf\Internal\Message 78{ 79 /** 80 * The fully qualified name of the interface which is included. 81 * 82 * Generated from protobuf field <code>string name = 1;</code> 83 */ 84 private $name = ''; 85 /** 86 * If non-empty specifies a path under which inherited HTTP paths 87 * are rooted. 88 * 89 * Generated from protobuf field <code>string root = 2;</code> 90 */ 91 private $root = ''; 92 93 /** 94 * Constructor. 95 * 96 * @param array $data { 97 * Optional. Data for populating the Message object. 98 * 99 * @type string $name 100 * The fully qualified name of the interface which is included. 101 * @type string $root 102 * If non-empty specifies a path under which inherited HTTP paths 103 * are rooted. 104 * } 105 */ 106 public function __construct($data = NULL) { 107 \GPBMetadata\Google\Protobuf\Api::initOnce(); 108 parent::__construct($data); 109 } 110 111 /** 112 * The fully qualified name of the interface which is included. 113 * 114 * Generated from protobuf field <code>string name = 1;</code> 115 * @return string 116 */ 117 public function getName() 118 { 119 return $this->name; 120 } 121 122 /** 123 * The fully qualified name of the interface which is included. 124 * 125 * Generated from protobuf field <code>string name = 1;</code> 126 * @param string $var 127 * @return $this 128 */ 129 public function setName($var) 130 { 131 GPBUtil::checkString($var, True); 132 $this->name = $var; 133 134 return $this; 135 } 136 137 /** 138 * If non-empty specifies a path under which inherited HTTP paths 139 * are rooted. 140 * 141 * Generated from protobuf field <code>string root = 2;</code> 142 * @return string 143 */ 144 public function getRoot() 145 { 146 return $this->root; 147 } 148 149 /** 150 * If non-empty specifies a path under which inherited HTTP paths 151 * are rooted. 152 * 153 * Generated from protobuf field <code>string root = 2;</code> 154 * @param string $var 155 * @return $this 156 */ 157 public function setRoot($var) 158 { 159 GPBUtil::checkString($var, True); 160 $this->root = $var; 161 162 return $this; 163 } 164 165} 166 167