| // Objective-C API for talking to issue12403 Go package. |
| // gobind -lang=objc issue12403 |
| // |
| // File is generated by gobind. Do not edit. |
| |
| #include "GoIssue12403.h" |
| #include <Foundation/Foundation.h> |
| #include "seq.h" |
| |
| static NSString* errDomain = @"go.issue12403"; |
| |
| @protocol goSeqRefInterface |
| -(GoSeqRef*) _ref; |
| @end |
| |
| #define _DESCRIPTOR_ "issue12403" |
| |
| @class GoIssue12403Parsable; |
| |
| @interface GoIssue12403Parsable : NSObject <GoIssue12403Parsable> { |
| } |
| @property(strong, readonly) id _ref; |
| |
| - (id)initWithRef:(id)ref; |
| - (NSString*)fromJSON:(NSString*)jstr; |
| - (BOOL)toJSON:(NSString**)ret0_ error:(NSError**)error; |
| @end |
| |
| #define _GO_issue12403_Parsable_DESCRIPTOR_ "go.issue12403.Parsable" |
| #define _GO_issue12403_Parsable_FromJSON_ (0x10a) |
| #define _GO_issue12403_Parsable_ToJSON_ (0x20a) |
| |
| @implementation GoIssue12403Parsable { |
| } |
| |
| - (id)initWithRef:(id)ref { |
| self = [super init]; |
| if (self) { __ref = ref; } |
| return self; |
| } |
| |
| - (NSString*)fromJSON:(NSString*)jstr { |
| GoSeq in_ = {}; |
| GoSeq out_ = {}; |
| go_seq_writeRef(&in_, self._ref); |
| go_seq_writeUTF8(&in_, jstr); |
| go_seq_send(_GO_issue12403_Parsable_DESCRIPTOR_, _GO_issue12403_Parsable_FromJSON_, &in_, &out_); |
| NSString* ret0_ = go_seq_readUTF8(&out_); |
| go_seq_free(&in_); |
| go_seq_free(&out_); |
| return ret0_; |
| } |
| |
| - (BOOL)toJSON:(NSString**)ret0_ error:(NSError**)error { |
| GoSeq in_ = {}; |
| GoSeq out_ = {}; |
| go_seq_writeRef(&in_, self._ref); |
| go_seq_send(_GO_issue12403_Parsable_DESCRIPTOR_, _GO_issue12403_Parsable_ToJSON_, &in_, &out_); |
| NSString* ret0__val = go_seq_readUTF8(&out_); |
| if (ret0_ != NULL) { |
| *ret0_ = ret0__val; |
| } |
| NSString* _error = go_seq_readUTF8(&out_); |
| if ([_error length] != 0 && error != nil) { |
| NSMutableDictionary* details = [NSMutableDictionary dictionary]; |
| [details setValue:_error forKey:NSLocalizedDescriptionKey]; |
| *error = [NSError errorWithDomain:errDomain code:1 userInfo:details]; |
| } |
| go_seq_free(&in_); |
| go_seq_free(&out_); |
| return ([_error length] == 0); |
| } |
| |
| @end |
| |
| static void proxyGoIssue12403Parsable(id obj, int code, GoSeq* in, GoSeq* out) { |
| switch (code) { |
| case _GO_issue12403_Parsable_FromJSON_: { |
| id<GoIssue12403Parsable> o = (id<GoIssue12403Parsable>)(obj); |
| NSString* jstr = go_seq_readUTF8(in); |
| NSString* returnVal = [o fromJSON:jstr]; |
| go_seq_writeUTF8(out, returnVal); |
| } break; |
| case _GO_issue12403_Parsable_ToJSON_: { |
| id<GoIssue12403Parsable> o = (id<GoIssue12403Parsable>)(obj); |
| NSString* ret0_; |
| NSError* error = NULL; |
| BOOL returnVal = [o toJSON:&ret0_ error:&error]; |
| go_seq_writeUTF8(out, ret0_); |
| if (returnVal) { |
| go_seq_writeUTF8(out, NULL); |
| } else { |
| NSString* errorDesc = [error localizedDescription]; |
| if (errorDesc == NULL || errorDesc.length == 0) { |
| errorDesc = @"gobind: unknown error"; |
| } |
| go_seq_writeUTF8(out, errorDesc); |
| } |
| } break; |
| default: |
| NSLog(@"unknown code %x for _GO_issue12403_Parsable_DESCRIPTOR_", code); |
| } |
| } |
| |
| |
| __attribute__((constructor)) static void init() { |
| go_seq_register_proxy("go.issue12403.Parsable", proxyGoIssue12403Parsable); |
| } |