blob: 501b80b1fc9343f9ffab70be2f0d1120a5647125 [file] [log] [blame]
// Copyright (c) 2023, 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.
// Normally, we'd "import <Foundation/Foundation.h>"
// but that would mean that ffigen would process every file in the Foundation
// framework, which is huge. So just import the headers that we need.
#import <Foundation/NSObject.h>
#import <Foundation/NSURLSession.h>
#include "dart-sdk/include/dart_api_dl.h"
/**
* Creates a `Dart_CObject` containing the given `NSObject` pointer as an int.
*/
Dart_CObject NSObjectToCObject(NSObject* n);
/**
* Executes [NSURLSessionWebSocketTask sendMessage:completionHandler:] and
* sends the results of the completion handler to the given `Dart_Port`.
*/
extern void CUPHTTPSendMessage(NSURLSessionWebSocketTask *task,
NSURLSessionWebSocketMessage *message,
Dart_Port sendPort);
/**
* Executes [NSURLSessionWebSocketTask receiveMessageWithCompletionHandler:]
* and sends the results of the completion handler to the given `Dart_Port`.
*/
extern void CUPHTTPReceiveMessage(NSURLSessionWebSocketTask *task,
Dart_Port sendPort);