39 lines
1.2 KiB
Objective-C
39 lines
1.2 KiB
Objective-C
// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
#ifndef OBJECTIVE_C_SRC_PROXY_H_
|
|
#define OBJECTIVE_C_SRC_PROXY_H_
|
|
|
|
#import <Foundation/NSObject.h>
|
|
|
|
#include "include/dart_api_dl.h"
|
|
|
|
@class DOBJCDartProtocol;
|
|
|
|
/**
|
|
* Used by the Dart ObjCProtocolBuilder to construct ObjC classes at runtime to
|
|
* implement protocols.
|
|
*/
|
|
@interface DOBJCDartProtocolBuilder : NSObject
|
|
- (instancetype)initWithClassName: (const char*)name;
|
|
- (void)implementMethod:(SEL)sel withBlock:(void*)block
|
|
withTrampoline:(void*)trampoline withSignature:(char*)signature;
|
|
- (void)addProtocol:(Protocol*) protocol;
|
|
- (void)registerClass;
|
|
- (DOBJCDartProtocol*)buildInstance: (Dart_Port)port;
|
|
@end
|
|
|
|
/**
|
|
* Base class of all classes DOBJCDartProtocolBuilder creates.
|
|
*/
|
|
@interface DOBJCDartProtocol : NSObject
|
|
- (instancetype)initDOBJCDartProtocolFromDartProtocolBuilder:
|
|
(DOBJCDartProtocolBuilder*)builder
|
|
withDisposePort:(Dart_Port)port;
|
|
- (id)getDOBJCDartProtocolMethodForSelector:(SEL)sel;
|
|
- (void)dealloc;
|
|
@end
|
|
|
|
#endif // OBJECTIVE_C_SRC_PROXY_H_
|