github.com/F4RD1N/gomobile@v1.0.1/bind/testdata/objcw.go (about)

     1  // Copyright 2014 The Go Authors.  All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package objc
     6  
     7  import (
     8  	"ObjC/Foundation"
     9  	"ObjC/Foundation/NSMutableString"
    10  	"ObjC/NetworkExtension/NEPacket"
    11  	"ObjC/UIKit"
    12  )
    13  
    14  type GoNSDate struct {
    15  	Foundation.NSDate
    16  	this Foundation.NSDate
    17  }
    18  
    19  func (d *GoNSDate) Hash(this Foundation.NSDate) int {
    20  	return 0
    21  }
    22  
    23  type GoNSObject struct {
    24  	C Foundation.NSObjectC // The class
    25  	P Foundation.NSObjectP // The protocol
    26  }
    27  
    28  func (o *GoNSObject) Description(this Foundation.NSObjectC) string {
    29  	return ""
    30  }
    31  
    32  func DupNSDate(date Foundation.NSDate) Foundation.NSDate {
    33  	return date
    34  }
    35  
    36  type GoUIResponder struct {
    37  	UIKit.UIResponder
    38  }
    39  
    40  func (r *GoUIResponder) PressesBegan(_ Foundation.NSSet, _ UIKit.UIPressesEvent) {
    41  }
    42  
    43  const NSUTF8StringEncoding = 8
    44  
    45  func CreateReadNSMutableString() {
    46  	myData := []byte{'A', 'B'}
    47  	// Test byte slices. Use NSMutableString because NSString is
    48  	// represented as Go strings in bindings.
    49  	// Pass slice from Go to native.
    50  	mString := NSMutableString.NewWithData(myData, uint(NSUTF8StringEncoding))
    51  	// Pass slice from native to Go.
    52  	_ = mString.DataUsingEncoding(uint(NSUTF8StringEncoding))
    53  }
    54  
    55  // From <sys/socket.h>
    56  const PF_INET = 2
    57  
    58  func CallUcharFunction() {
    59  	_ = NEPacket.NewWithData(nil, uint8(PF_INET))
    60  }