| OLD | NEW |
| 1 // Generated by the protocol buffer compiler. DO NOT EDIT! | 1 // Generated by the protocol buffer compiler. DO NOT EDIT! |
| 2 // source: google/protobuf/api.proto | 2 // source: google/protobuf/api.proto |
| 3 | 3 |
| 4 // This CPP symbol can be defined to use imports that match up to the framework | 4 #import "GPBProtocolBuffers.h" |
| 5 // imports needed when using CocoaPods. | |
| 6 #if !defined(GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS) | |
| 7 #define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0 | |
| 8 #endif | |
| 9 | 5 |
| 10 #if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS | 6 #if GOOGLE_PROTOBUF_OBJC_GEN_VERSION != 30001 |
| 11 #import <Protobuf/GPBProtocolBuffers.h> | 7 #error This file was generated by a different version of protoc which is incompa
tible with your Protocol Buffer library sources. |
| 12 #else | |
| 13 #import "GPBProtocolBuffers.h" | |
| 14 #endif | |
| 15 | |
| 16 #if GOOGLE_PROTOBUF_OBJC_VERSION < 30002 | |
| 17 #error This file was generated by a newer version of protoc which is incompatibl
e with your Protocol Buffer library sources. | |
| 18 #endif | |
| 19 #if 30002 < GOOGLE_PROTOBUF_OBJC_MIN_SUPPORTED_VERSION | |
| 20 #error This file was generated by an older version of protoc which is incompatib
le with your Protocol Buffer library sources. | |
| 21 #endif | 8 #endif |
| 22 | 9 |
| 23 // @@protoc_insertion_point(imports) | 10 // @@protoc_insertion_point(imports) |
| 24 | 11 |
| 25 #pragma clang diagnostic push | 12 #pragma clang diagnostic push |
| 26 #pragma clang diagnostic ignored "-Wdeprecated-declarations" | 13 #pragma clang diagnostic ignored "-Wdeprecated-declarations" |
| 27 | 14 |
| 28 CF_EXTERN_C_BEGIN | 15 CF_EXTERN_C_BEGIN |
| 29 | 16 |
| 30 @class GPBMethod; | 17 @class GPBMethod; |
| 31 @class GPBMixin; | 18 @class GPBMixin; |
| 32 @class GPBOption; | 19 @class GPBOption; |
| 33 @class GPBSourceContext; | 20 @class GPBSourceContext; |
| 34 GPB_ENUM_FWD_DECLARE(GPBSyntax); | 21 GPB_ENUM_FWD_DECLARE(GPBSyntax); |
| 35 | 22 |
| 36 NS_ASSUME_NONNULL_BEGIN | 23 NS_ASSUME_NONNULL_BEGIN |
| 37 | 24 |
| 38 #pragma mark - GPBApiRoot | 25 #pragma mark - GPBApiRoot |
| 39 | 26 |
| 40 /** | 27 /// Exposes the extension registry for this file. |
| 41 * Exposes the extension registry for this file. | 28 /// |
| 42 * | 29 /// The base class provides: |
| 43 * The base class provides: | 30 /// @code |
| 44 * @code | 31 /// + (GPBExtensionRegistry *)extensionRegistry; |
| 45 * + (GPBExtensionRegistry *)extensionRegistry; | 32 /// @endcode |
| 46 * @endcode | 33 /// which is a @c GPBExtensionRegistry that includes all the extensions defined
by |
| 47 * which is a @c GPBExtensionRegistry that includes all the extensions defined b
y | 34 /// this file and all files that it depends on. |
| 48 * this file and all files that it depends on. | |
| 49 **/ | |
| 50 @interface GPBApiRoot : GPBRootObject | 35 @interface GPBApiRoot : GPBRootObject |
| 51 @end | 36 @end |
| 52 | 37 |
| 53 #pragma mark - GPBApi | 38 #pragma mark - GPBApi |
| 54 | 39 |
| 55 typedef GPB_ENUM(GPBApi_FieldNumber) { | 40 typedef GPB_ENUM(GPBApi_FieldNumber) { |
| 56 GPBApi_FieldNumber_Name = 1, | 41 GPBApi_FieldNumber_Name = 1, |
| 57 GPBApi_FieldNumber_MethodsArray = 2, | 42 GPBApi_FieldNumber_MethodsArray = 2, |
| 58 GPBApi_FieldNumber_OptionsArray = 3, | 43 GPBApi_FieldNumber_OptionsArray = 3, |
| 59 GPBApi_FieldNumber_Version = 4, | 44 GPBApi_FieldNumber_Version = 4, |
| 60 GPBApi_FieldNumber_SourceContext = 5, | 45 GPBApi_FieldNumber_SourceContext = 5, |
| 61 GPBApi_FieldNumber_MixinsArray = 6, | 46 GPBApi_FieldNumber_MixinsArray = 6, |
| 62 GPBApi_FieldNumber_Syntax = 7, | 47 GPBApi_FieldNumber_Syntax = 7, |
| 63 }; | 48 }; |
| 64 | 49 |
| 65 /** | 50 /// Api is a light-weight descriptor for a protocol buffer service. |
| 66 * Api is a light-weight descriptor for a protocol buffer service. | |
| 67 **/ | |
| 68 @interface GPBApi : GPBMessage | 51 @interface GPBApi : GPBMessage |
| 69 | 52 |
| 70 /** | 53 /// The fully qualified name of this api, including package name |
| 71 * The fully qualified name of this api, including package name | 54 /// followed by the api's simple name. |
| 72 * followed by the api's simple name. | |
| 73 **/ | |
| 74 @property(nonatomic, readwrite, copy, null_resettable) NSString *name; | 55 @property(nonatomic, readwrite, copy, null_resettable) NSString *name; |
| 75 | 56 |
| 76 /** The methods of this api, in unspecified order. */ | 57 /// The methods of this api, in unspecified order. |
| 77 @property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBMetho
d*> *methodsArray; | 58 @property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBMetho
d*> *methodsArray; |
| 78 /** The number of items in @c methodsArray without causing the array to be creat
ed. */ | 59 /// The number of items in @c methodsArray without causing the array to be creat
ed. |
| 79 @property(nonatomic, readonly) NSUInteger methodsArray_Count; | 60 @property(nonatomic, readonly) NSUInteger methodsArray_Count; |
| 80 | 61 |
| 81 /** Any metadata attached to the API. */ | 62 /// Any metadata attached to the API. |
| 82 @property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBOptio
n*> *optionsArray; | 63 @property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBOptio
n*> *optionsArray; |
| 83 /** The number of items in @c optionsArray without causing the array to be creat
ed. */ | 64 /// The number of items in @c optionsArray without causing the array to be creat
ed. |
| 84 @property(nonatomic, readonly) NSUInteger optionsArray_Count; | 65 @property(nonatomic, readonly) NSUInteger optionsArray_Count; |
| 85 | 66 |
| 86 /** | 67 /// A version string for this api. If specified, must have the form |
| 87 * A version string for this api. If specified, must have the form | 68 /// `major-version.minor-version`, as in `1.10`. If the minor version |
| 88 * `major-version.minor-version`, as in `1.10`. If the minor version | 69 /// is omitted, it defaults to zero. If the entire version field is |
| 89 * is omitted, it defaults to zero. If the entire version field is | 70 /// empty, the major version is derived from the package name, as |
| 90 * empty, the major version is derived from the package name, as | 71 /// outlined below. If the field is not empty, the version in the |
| 91 * outlined below. If the field is not empty, the version in the | 72 /// package name will be verified to be consistent with what is |
| 92 * package name will be verified to be consistent with what is | 73 /// provided here. |
| 93 * provided here. | 74 /// |
| 94 * | 75 /// The versioning schema uses [semantic |
| 95 * The versioning schema uses [semantic | 76 /// versioning](http://semver.org) where the major version number |
| 96 * versioning](http://semver.org) where the major version number | 77 /// indicates a breaking change and the minor version an additive, |
| 97 * indicates a breaking change and the minor version an additive, | 78 /// non-breaking change. Both version numbers are signals to users |
| 98 * non-breaking change. Both version numbers are signals to users | 79 /// what to expect from different versions, and should be carefully |
| 99 * what to expect from different versions, and should be carefully | 80 /// chosen based on the product plan. |
| 100 * chosen based on the product plan. | 81 /// |
| 101 * | 82 /// The major version is also reflected in the package name of the |
| 102 * The major version is also reflected in the package name of the | 83 /// API, which must end in `v<major-version>`, as in |
| 103 * API, which must end in `v<major-version>`, as in | 84 /// `google.feature.v1`. For major versions 0 and 1, the suffix can |
| 104 * `google.feature.v1`. For major versions 0 and 1, the suffix can | 85 /// be omitted. Zero major versions must only be used for |
| 105 * be omitted. Zero major versions must only be used for | 86 /// experimental, none-GA apis. |
| 106 * experimental, none-GA apis. | |
| 107 **/ | |
| 108 @property(nonatomic, readwrite, copy, null_resettable) NSString *version; | 87 @property(nonatomic, readwrite, copy, null_resettable) NSString *version; |
| 109 | 88 |
| 110 /** | 89 /// Source context for the protocol buffer service represented by this |
| 111 * Source context for the protocol buffer service represented by this | 90 /// message. |
| 112 * message. | |
| 113 **/ | |
| 114 @property(nonatomic, readwrite, strong, null_resettable) GPBSourceContext *sourc
eContext; | 91 @property(nonatomic, readwrite, strong, null_resettable) GPBSourceContext *sourc
eContext; |
| 115 /** Test to see if @c sourceContext has been set. */ | 92 /// Test to see if @c sourceContext has been set. |
| 116 @property(nonatomic, readwrite) BOOL hasSourceContext; | 93 @property(nonatomic, readwrite) BOOL hasSourceContext; |
| 117 | 94 |
| 118 /** Included APIs. See [Mixin][]. */ | 95 /// Included APIs. See [Mixin][]. |
| 119 @property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBMixin
*> *mixinsArray; | 96 @property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBMixin
*> *mixinsArray; |
| 120 /** The number of items in @c mixinsArray without causing the array to be create
d. */ | 97 /// The number of items in @c mixinsArray without causing the array to be create
d. |
| 121 @property(nonatomic, readonly) NSUInteger mixinsArray_Count; | 98 @property(nonatomic, readonly) NSUInteger mixinsArray_Count; |
| 122 | 99 |
| 123 /** The source syntax of the service. */ | 100 /// The source syntax of the service. |
| 124 @property(nonatomic, readwrite) enum GPBSyntax syntax; | 101 @property(nonatomic, readwrite) enum GPBSyntax syntax; |
| 125 | 102 |
| 126 @end | 103 @end |
| 127 | 104 |
| 128 /** | 105 /// Fetches the raw value of a @c GPBApi's @c syntax property, even |
| 129 * Fetches the raw value of a @c GPBApi's @c syntax property, even | 106 /// if the value was not defined by the enum at the time the code was generated. |
| 130 * if the value was not defined by the enum at the time the code was generated. | |
| 131 **/ | |
| 132 int32_t GPBApi_Syntax_RawValue(GPBApi *message); | 107 int32_t GPBApi_Syntax_RawValue(GPBApi *message); |
| 133 /** | 108 /// Sets the raw value of an @c GPBApi's @c syntax property, allowing |
| 134 * Sets the raw value of an @c GPBApi's @c syntax property, allowing | 109 /// it to be set to a value that was not defined by the enum at the time the cod
e |
| 135 * it to be set to a value that was not defined by the enum at the time the code | 110 /// was generated. |
| 136 * was generated. | |
| 137 **/ | |
| 138 void SetGPBApi_Syntax_RawValue(GPBApi *message, int32_t value); | 111 void SetGPBApi_Syntax_RawValue(GPBApi *message, int32_t value); |
| 139 | 112 |
| 140 #pragma mark - GPBMethod | 113 #pragma mark - GPBMethod |
| 141 | 114 |
| 142 typedef GPB_ENUM(GPBMethod_FieldNumber) { | 115 typedef GPB_ENUM(GPBMethod_FieldNumber) { |
| 143 GPBMethod_FieldNumber_Name = 1, | 116 GPBMethod_FieldNumber_Name = 1, |
| 144 GPBMethod_FieldNumber_RequestTypeURL = 2, | 117 GPBMethod_FieldNumber_RequestTypeURL = 2, |
| 145 GPBMethod_FieldNumber_RequestStreaming = 3, | 118 GPBMethod_FieldNumber_RequestStreaming = 3, |
| 146 GPBMethod_FieldNumber_ResponseTypeURL = 4, | 119 GPBMethod_FieldNumber_ResponseTypeURL = 4, |
| 147 GPBMethod_FieldNumber_ResponseStreaming = 5, | 120 GPBMethod_FieldNumber_ResponseStreaming = 5, |
| 148 GPBMethod_FieldNumber_OptionsArray = 6, | 121 GPBMethod_FieldNumber_OptionsArray = 6, |
| 149 GPBMethod_FieldNumber_Syntax = 7, | 122 GPBMethod_FieldNumber_Syntax = 7, |
| 150 }; | 123 }; |
| 151 | 124 |
| 152 /** | 125 /// Method represents a method of an api. |
| 153 * Method represents a method of an api. | |
| 154 **/ | |
| 155 @interface GPBMethod : GPBMessage | 126 @interface GPBMethod : GPBMessage |
| 156 | 127 |
| 157 /** The simple name of this method. */ | 128 /// The simple name of this method. |
| 158 @property(nonatomic, readwrite, copy, null_resettable) NSString *name; | 129 @property(nonatomic, readwrite, copy, null_resettable) NSString *name; |
| 159 | 130 |
| 160 /** A URL of the input message type. */ | 131 /// A URL of the input message type. |
| 161 @property(nonatomic, readwrite, copy, null_resettable) NSString *requestTypeURL; | 132 @property(nonatomic, readwrite, copy, null_resettable) NSString *requestTypeURL; |
| 162 | 133 |
| 163 /** If true, the request is streamed. */ | 134 /// If true, the request is streamed. |
| 164 @property(nonatomic, readwrite) BOOL requestStreaming; | 135 @property(nonatomic, readwrite) BOOL requestStreaming; |
| 165 | 136 |
| 166 /** The URL of the output message type. */ | 137 /// The URL of the output message type. |
| 167 @property(nonatomic, readwrite, copy, null_resettable) NSString *responseTypeURL
; | 138 @property(nonatomic, readwrite, copy, null_resettable) NSString *responseTypeURL
; |
| 168 | 139 |
| 169 /** If true, the response is streamed. */ | 140 /// If true, the response is streamed. |
| 170 @property(nonatomic, readwrite) BOOL responseStreaming; | 141 @property(nonatomic, readwrite) BOOL responseStreaming; |
| 171 | 142 |
| 172 /** Any metadata attached to the method. */ | 143 /// Any metadata attached to the method. |
| 173 @property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBOptio
n*> *optionsArray; | 144 @property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBOptio
n*> *optionsArray; |
| 174 /** The number of items in @c optionsArray without causing the array to be creat
ed. */ | 145 /// The number of items in @c optionsArray without causing the array to be creat
ed. |
| 175 @property(nonatomic, readonly) NSUInteger optionsArray_Count; | 146 @property(nonatomic, readonly) NSUInteger optionsArray_Count; |
| 176 | 147 |
| 177 /** The source syntax of this method. */ | 148 /// The source syntax of this method. |
| 178 @property(nonatomic, readwrite) enum GPBSyntax syntax; | 149 @property(nonatomic, readwrite) enum GPBSyntax syntax; |
| 179 | 150 |
| 180 @end | 151 @end |
| 181 | 152 |
| 182 /** | 153 /// Fetches the raw value of a @c GPBMethod's @c syntax property, even |
| 183 * Fetches the raw value of a @c GPBMethod's @c syntax property, even | 154 /// if the value was not defined by the enum at the time the code was generated. |
| 184 * if the value was not defined by the enum at the time the code was generated. | |
| 185 **/ | |
| 186 int32_t GPBMethod_Syntax_RawValue(GPBMethod *message); | 155 int32_t GPBMethod_Syntax_RawValue(GPBMethod *message); |
| 187 /** | 156 /// Sets the raw value of an @c GPBMethod's @c syntax property, allowing |
| 188 * Sets the raw value of an @c GPBMethod's @c syntax property, allowing | 157 /// it to be set to a value that was not defined by the enum at the time the cod
e |
| 189 * it to be set to a value that was not defined by the enum at the time the code | 158 /// was generated. |
| 190 * was generated. | |
| 191 **/ | |
| 192 void SetGPBMethod_Syntax_RawValue(GPBMethod *message, int32_t value); | 159 void SetGPBMethod_Syntax_RawValue(GPBMethod *message, int32_t value); |
| 193 | 160 |
| 194 #pragma mark - GPBMixin | 161 #pragma mark - GPBMixin |
| 195 | 162 |
| 196 typedef GPB_ENUM(GPBMixin_FieldNumber) { | 163 typedef GPB_ENUM(GPBMixin_FieldNumber) { |
| 197 GPBMixin_FieldNumber_Name = 1, | 164 GPBMixin_FieldNumber_Name = 1, |
| 198 GPBMixin_FieldNumber_Root = 2, | 165 GPBMixin_FieldNumber_Root = 2, |
| 199 }; | 166 }; |
| 200 | 167 |
| 201 /** | 168 /// Declares an API to be included in this API. The including API must |
| 202 * Declares an API to be included in this API. The including API must | 169 /// redeclare all the methods from the included API, but documentation |
| 203 * redeclare all the methods from the included API, but documentation | 170 /// and options are inherited as follows: |
| 204 * and options are inherited as follows: | 171 /// |
| 205 * | 172 /// - If after comment and whitespace stripping, the documentation |
| 206 * - If after comment and whitespace stripping, the documentation | 173 /// string of the redeclared method is empty, it will be inherited |
| 207 * string of the redeclared method is empty, it will be inherited | 174 /// from the original method. |
| 208 * from the original method. | 175 /// |
| 209 * | 176 /// - Each annotation belonging to the service config (http, |
| 210 * - Each annotation belonging to the service config (http, | 177 /// visibility) which is not set in the redeclared method will be |
| 211 * visibility) which is not set in the redeclared method will be | 178 /// inherited. |
| 212 * inherited. | 179 /// |
| 213 * | 180 /// - If an http annotation is inherited, the path pattern will be |
| 214 * - If an http annotation is inherited, the path pattern will be | 181 /// modified as follows. Any version prefix will be replaced by the |
| 215 * modified as follows. Any version prefix will be replaced by the | 182 /// version of the including API plus the [root][] path if specified. |
| 216 * version of the including API plus the [root][] path if specified. | 183 /// |
| 217 * | 184 /// Example of a simple mixin: |
| 218 * Example of a simple mixin: | 185 /// |
| 219 * | 186 /// package google.acl.v1; |
| 220 * package google.acl.v1; | 187 /// service AccessControl { |
| 221 * service AccessControl { | 188 /// // Get the underlying ACL object. |
| 222 * // Get the underlying ACL object. | 189 /// rpc GetAcl(GetAclRequest) returns (Acl) { |
| 223 * rpc GetAcl(GetAclRequest) returns (Acl) { | 190 /// option (google.api.http).get = "/v1/{resource=**}:getAcl"; |
| 224 * option (google.api.http).get = "/v1/{resource=**}:getAcl"; | 191 /// } |
| 225 * } | 192 /// } |
| 226 * } | 193 /// |
| 227 * | 194 /// package google.storage.v2; |
| 228 * package google.storage.v2; | 195 /// service Storage { |
| 229 * service Storage { | 196 /// rpc GetAcl(GetAclRequest) returns (Acl); |
| 230 * rpc GetAcl(GetAclRequest) returns (Acl); | 197 /// |
| 231 * | 198 /// // Get a data record. |
| 232 * // Get a data record. | 199 /// rpc GetData(GetDataRequest) returns (Data) { |
| 233 * rpc GetData(GetDataRequest) returns (Data) { | 200 /// option (google.api.http).get = "/v2/{resource=**}"; |
| 234 * option (google.api.http).get = "/v2/{resource=**}"; | 201 /// } |
| 235 * } | 202 /// } |
| 236 * } | 203 /// |
| 237 * | 204 /// Example of a mixin configuration: |
| 238 * Example of a mixin configuration: | 205 /// |
| 239 * | 206 /// apis: |
| 240 * apis: | 207 /// - name: google.storage.v2.Storage |
| 241 * - name: google.storage.v2.Storage | 208 /// mixins: |
| 242 * mixins: | 209 /// - name: google.acl.v1.AccessControl |
| 243 * - name: google.acl.v1.AccessControl | 210 /// |
| 244 * | 211 /// The mixin construct implies that all methods in `AccessControl` are |
| 245 * The mixin construct implies that all methods in `AccessControl` are | 212 /// also declared with same name and request/response types in |
| 246 * also declared with same name and request/response types in | 213 /// `Storage`. A documentation generator or annotation processor will |
| 247 * `Storage`. A documentation generator or annotation processor will | 214 /// see the effective `Storage.GetAcl` method after inherting |
| 248 * see the effective `Storage.GetAcl` method after inherting | 215 /// documentation and annotations as follows: |
| 249 * documentation and annotations as follows: | 216 /// |
| 250 * | 217 /// service Storage { |
| 251 * service Storage { | 218 /// // Get the underlying ACL object. |
| 252 * // Get the underlying ACL object. | 219 /// rpc GetAcl(GetAclRequest) returns (Acl) { |
| 253 * rpc GetAcl(GetAclRequest) returns (Acl) { | 220 /// option (google.api.http).get = "/v2/{resource=**}:getAcl"; |
| 254 * option (google.api.http).get = "/v2/{resource=**}:getAcl"; | 221 /// } |
| 255 * } | 222 /// ... |
| 256 * ... | 223 /// } |
| 257 * } | 224 /// |
| 258 * | 225 /// Note how the version in the path pattern changed from `v1` to `v2`. |
| 259 * Note how the version in the path pattern changed from `v1` to `v2`. | 226 /// |
| 260 * | 227 /// If the `root` field in the mixin is specified, it should be a |
| 261 * If the `root` field in the mixin is specified, it should be a | 228 /// relative path under which inherited HTTP paths are placed. Example: |
| 262 * relative path under which inherited HTTP paths are placed. Example: | 229 /// |
| 263 * | 230 /// apis: |
| 264 * apis: | 231 /// - name: google.storage.v2.Storage |
| 265 * - name: google.storage.v2.Storage | 232 /// mixins: |
| 266 * mixins: | 233 /// - name: google.acl.v1.AccessControl |
| 267 * - name: google.acl.v1.AccessControl | 234 /// root: acls |
| 268 * root: acls | 235 /// |
| 269 * | 236 /// This implies the following inherited HTTP annotation: |
| 270 * This implies the following inherited HTTP annotation: | 237 /// |
| 271 * | 238 /// service Storage { |
| 272 * service Storage { | 239 /// // Get the underlying ACL object. |
| 273 * // Get the underlying ACL object. | 240 /// rpc GetAcl(GetAclRequest) returns (Acl) { |
| 274 * rpc GetAcl(GetAclRequest) returns (Acl) { | 241 /// option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; |
| 275 * option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; | 242 /// } |
| 276 * } | 243 /// ... |
| 277 * ... | 244 /// } |
| 278 * } | |
| 279 **/ | |
| 280 @interface GPBMixin : GPBMessage | 245 @interface GPBMixin : GPBMessage |
| 281 | 246 |
| 282 /** The fully qualified name of the API which is included. */ | 247 /// The fully qualified name of the API which is included. |
| 283 @property(nonatomic, readwrite, copy, null_resettable) NSString *name; | 248 @property(nonatomic, readwrite, copy, null_resettable) NSString *name; |
| 284 | 249 |
| 285 /** | 250 /// If non-empty specifies a path under which inherited HTTP paths |
| 286 * If non-empty specifies a path under which inherited HTTP paths | 251 /// are rooted. |
| 287 * are rooted. | |
| 288 **/ | |
| 289 @property(nonatomic, readwrite, copy, null_resettable) NSString *root; | 252 @property(nonatomic, readwrite, copy, null_resettable) NSString *root; |
| 290 | 253 |
| 291 @end | 254 @end |
| 292 | 255 |
| 293 NS_ASSUME_NONNULL_END | 256 NS_ASSUME_NONNULL_END |
| 294 | 257 |
| 295 CF_EXTERN_C_END | 258 CF_EXTERN_C_END |
| 296 | 259 |
| 297 #pragma clang diagnostic pop | 260 #pragma clang diagnostic pop |
| 298 | 261 |
| 299 // @@protoc_insertion_point(global_scope) | 262 // @@protoc_insertion_point(global_scope) |
| OLD | NEW |