// Objective-C API for talking to interfaces Go package. // gobind -lang=objc interfaces // // File is generated by gobind. Do not edit. #include "GoInterfaces.h" #include #include "seq.h" static NSString* errDomain = @"go.interfaces"; @protocol goSeqRefInterface -(GoSeqRef*) ref; @end #define _DESCRIPTOR_ "interfaces" #define _CALL_Add3_ 1 #define _CALL_Seven_ 2 #define _GO_interfaces_I_DESCRIPTOR_ "go.interfaces.I" #define _GO_interfaces_I_Rand_ (0x10a) @interface GoInterfacesI : NSObject { } @property(strong, readonly) id ref; - (id)initWithRef:(id)ref; - (int32_t)Rand; @end @implementation GoInterfacesI { } - (id)initWithRef:(id)ref { self = [super init]; if (self) { _ref = ref; } return self; } - (int32_t)Rand { GoSeq in_ = {}; GoSeq out_ = {}; go_seq_writeRef(&in_, self.ref); go_seq_send(_GO_interfaces_I_DESCRIPTOR_, _GO_interfaces_I_Rand_, &in_, &out_); int32_t ret0_ = go_seq_readInt32(&out_); go_seq_free(&in_); go_seq_free(&out_); return ret0_; } @end static void proxyGoInterfacesI(id obj, int code, GoSeq* in, GoSeq* out) { switch (code) { case _GO_interfaces_I_Rand_: { id o = (id)(obj); int32_t returnVal = [o Rand]; go_seq_writeInt32(out, returnVal); } break; default: NSLog(@"unknown code %x for _GO_interfaces_I_DESCRIPTOR_", code); } } #define _GO_interfaces_WithParam_DESCRIPTOR_ "go.interfaces.WithParam" #define _GO_interfaces_WithParam_HasParam_ (0x10a) @interface GoInterfacesWithParam : NSObject { } @property(strong, readonly) id ref; - (id)initWithRef:(id)ref; - (void)HasParam:(BOOL)p0; @end @implementation GoInterfacesWithParam { } - (id)initWithRef:(id)ref { self = [super init]; if (self) { _ref = ref; } return self; } - (void)HasParam:(BOOL)p0 { GoSeq in_ = {}; GoSeq out_ = {}; go_seq_writeRef(&in_, self.ref); go_seq_writeBool(&in_, p0); go_seq_send(_GO_interfaces_WithParam_DESCRIPTOR_, _GO_interfaces_WithParam_HasParam_, &in_, &out_); go_seq_free(&in_); go_seq_free(&out_); } @end static void proxyGoInterfacesWithParam(id obj, int code, GoSeq* in, GoSeq* out) { switch (code) { case _GO_interfaces_WithParam_HasParam_: { id o = (id)(obj); BOOL p0 = go_seq_readBool(in); [o HasParam:p0]; } break; default: NSLog(@"unknown code %x for _GO_interfaces_WithParam_DESCRIPTOR_", code); } } int32_t GoInterfacesAdd3(id r) { GoSeq in_ = {}; GoSeq out_ = {}; if ([(id)(r) isKindOfClass:[GoInterfacesI class]]) { id r_proxy = (id)(r); go_seq_writeRef(&in_, r_proxy.ref); } else { go_seq_writeObjcRef(&in_, r); } go_seq_send(_DESCRIPTOR_, _CALL_Add3_, &in_, &out_); int32_t ret0_ = go_seq_readInt32(&out_); go_seq_free(&in_); go_seq_free(&out_); return ret0_; } id GoInterfacesSeven() { GoSeq in_ = {}; GoSeq out_ = {}; go_seq_send(_DESCRIPTOR_, _CALL_Seven_, &in_, &out_); GoSeqRef* ret0__ref = go_seq_readRef(&out_); id ret0_ = ret0__ref.obj; if (ret0_ == NULL) { ret0_ = [[GoInterfacesI alloc] initWithRef:ret0__ref]; } go_seq_free(&in_); go_seq_free(&out_); return ret0_; } __attribute__((constructor)) static void init() { go_seq_register_proxy("go.interfaces.I", proxyGoInterfacesI); go_seq_register_proxy("go.interfaces.WithParam", proxyGoInterfacesWithParam); }