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