Skip to content
This repository has been archived by the owner on Oct 19, 2024. It is now read-only.

Commit

Permalink
removed unnecessary usage of nsstring
Browse files Browse the repository at this point in the history
  • Loading branch information
Raikerian committed Dec 20, 2023
1 parent 0f18a43 commit b994304
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 45 deletions.
31 changes: 0 additions & 31 deletions internal/objc/objc.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,16 +57,6 @@ const char *getUUID()
NSString *uuid = [[NSUUID UUID] UUIDString];
return [uuid UTF8String];
}
const char *CStringFromNSString(void *ptr)
{
return [(NSString *)ptr UTF8String];
}
int LengthFromNSString(void *ptr)
{
return [(NSString *)ptr length];
}
*/
import "C"
import (
Expand Down Expand Up @@ -152,27 +142,6 @@ func (n *NSArray) ToPointerSlice() []unsafe.Pointer {
return ret
}

// NSString indicates NSString
type NSString struct {
*Pointer
}

// NewNSString creates a new NSString from pointer.
func NewNSString(p unsafe.Pointer) *NSString {
return &NSString{NewPointer(p)}
}

// CString converts *C.char from *NSString
func (s *NSString) CString() *C.char {
return C.CStringFromNSString(s.ptr())
}

// String converts Go string from *NSString
func (s *NSString) String() string {
length := C.LengthFromNSString(s.ptr())
return C.GoStringN(s.CString(), C.int(length))
}

// ConvertToNSMutableArray converts to NSMutableArray from NSObject slice in Go world.
func ConvertToNSMutableArray(s []NSObject) *Pointer {
ln := len(s)
Expand Down
12 changes: 4 additions & 8 deletions network.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,17 +62,13 @@ func (*baseBridgedNetwork) NetworkInterfaces() []BridgedNetwork {
}

func (b *baseBridgedNetwork) Identifier() string {
nsStirng := objc.NewNSString(
C.VZBridgedNetworkInterface_identifier(objc.Ptr(b)),
)
return nsStirng.String()
cstring := (*char)(C.VZBridgedNetworkInterface_identifier(objc.Ptr(b)))
return cstring.String()
}

func (b *baseBridgedNetwork) LocalizedDisplayName() string {
nsStirng := objc.NewNSString(
C.VZBridgedNetworkInterface_localizedDisplayName(objc.Ptr(b)),
)
return nsStirng.String()
cstring := (*char)(C.VZBridgedNetworkInterface_localizedDisplayName(objc.Ptr(b)))
return cstring.String()
}

// Network device attachment using network address translation (NAT) with outside networks.
Expand Down
4 changes: 2 additions & 2 deletions virtualization_11.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,8 @@ void *newVZFileHandleSerialPortAttachment(int readFileDescriptor, int writeFileD
void *newVZFileSerialPortAttachment(const char *filePath, bool shouldAppend, void **error);
void *newVZVirtioConsoleDeviceSerialPortConfiguration(void *attachment);
void *VZBridgedNetworkInterface_networkInterfaces(void);
void *VZBridgedNetworkInterface_identifier(void *networkInterface);
void *VZBridgedNetworkInterface_localizedDisplayName(void *networkInterface);
const char *VZBridgedNetworkInterface_identifier(void *networkInterface);
const char *VZBridgedNetworkInterface_localizedDisplayName(void *networkInterface);
void *newVZBridgedNetworkDeviceAttachment(void *networkInterface);
void *newVZNATNetworkDeviceAttachment(void);
void *newVZFileHandleNetworkDeviceAttachment(int fileDescriptor);
Expand Down
8 changes: 4 additions & 4 deletions virtualization_11.m
Original file line number Diff line number Diff line change
Expand Up @@ -415,10 +415,10 @@ void setStorageDevicesVZVirtualMachineConfiguration(void *config,
/*!
@abstract Return the unique identifier for this interface. The identifier is the BSD name associated with the interface (e.g. "en0").
*/
void *VZBridgedNetworkInterface_identifier(void *networkInterface)
const char *VZBridgedNetworkInterface_identifier(void *networkInterface)
{
if (@available(macOS 11, *)) {
return [(VZBridgedNetworkInterface *)networkInterface identifier]; // NSString *
return [[(VZBridgedNetworkInterface *)networkInterface identifier] UTF8String];
}

RAISE_UNSUPPORTED_MACOS_EXCEPTION();
Expand All @@ -427,10 +427,10 @@ void setStorageDevicesVZVirtualMachineConfiguration(void *config,
/*!
@abstract Return a display name if available (e.g. "Ethernet").
*/
void *VZBridgedNetworkInterface_localizedDisplayName(void *networkInterface)
const char *VZBridgedNetworkInterface_localizedDisplayName(void *networkInterface)
{
if (@available(macOS 11, *)) {
return [(VZBridgedNetworkInterface *)networkInterface localizedDisplayName]; // NSString *
return [[(VZBridgedNetworkInterface *)networkInterface localizedDisplayName] UTF8String];
}

RAISE_UNSUPPORTED_MACOS_EXCEPTION();
Expand Down

0 comments on commit b994304

Please sign in to comment.