blob: a2ea59c757847cfd1f386e05cc91a521c38846e6 [file] [log] [blame]
avm9996399bb77c2020-01-27 03:15:08 +01001<?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