|
1
|
1 #include "foobar2000-sdk-pch.h"
|
|
|
2 #include "commonObjects-Apple.h"
|
|
|
3 #include <Cocoa/Cocoa.h>
|
|
|
4
|
|
|
5 namespace {
|
|
|
6 class NSObjectWrapperImpl : public fb2k::NSObjectWrapper {
|
|
|
7 public:
|
|
|
8 id obj;
|
|
|
9 void * get_() override {
|
|
|
10 return (__bridge void*) obj;
|
|
|
11 }
|
|
|
12 };
|
|
|
13 }
|
|
|
14 namespace fb2k {
|
|
|
15 service_ptr wrapNSObject(id arg) {
|
|
|
16 if (!arg) return nullptr;
|
|
|
17 auto ret = fb2k::service_new<NSObjectWrapperImpl>();
|
|
|
18 ret->obj = arg;
|
|
|
19 return ret;
|
|
|
20 }
|
|
|
21 id unwrapNSObject(service_ptr arg) {
|
|
|
22 id ret = nil;
|
|
|
23 fb2k::NSObjectWrapper::ptr obj;
|
|
|
24 if ( obj &= arg ) {
|
|
|
25 ret = obj->get();
|
|
|
26 }
|
|
|
27 return ret;
|
|
|
28 }
|
|
|
29 }
|