platform/lib/src/util.cc

42 lines
1.1 KiB
C++
Raw Normal View History

2019-04-29 05:10:27 +00:00
#include "angel_wings.h"
2019-04-29 05:13:45 +00:00
#include "wings_socket.h"
using namespace wings;
2019-04-29 05:10:27 +00:00
2019-04-29 05:55:02 +00:00
void Dart_WingsSocket_listen(Dart_NativeArguments arguments)
{
uint64_t ptr;
Dart_Handle pointerHandle = Dart_GetNativeArgument(arguments, 0);
HandleError(Dart_IntegerToUint64(pointerHandle, &ptr));
auto *socket = (WingsSocket *)ptr;
socket->start(arguments);
}
2019-04-29 05:10:27 +00:00
void Dart_WingsSocket_getPort(Dart_NativeArguments arguments)
{
2019-04-29 05:13:45 +00:00
uint64_t ptr;
Dart_Handle pointerHandle = Dart_GetNativeArgument(arguments, 0);
HandleError(Dart_IntegerToUint64(pointerHandle, &ptr));
2019-04-29 05:55:02 +00:00
auto *socket = (WingsSocket *)ptr;
2019-04-29 05:13:45 +00:00
auto outHandle = Dart_NewIntegerFromUint64(socket->getInfo().port);
Dart_SetReturnValue(arguments, outHandle);
2019-04-29 05:10:27 +00:00
}
void Dart_WingsSocket_write(Dart_NativeArguments arguments)
{
// TODO: Actually do something.
}
void Dart_WingsSocket_closeDescriptor(Dart_NativeArguments arguments)
{
2019-04-29 05:55:02 +00:00
int64_t fd;
Dart_Handle fdHandle = Dart_GetNativeArgument(arguments, 0);
HandleError(Dart_IntegerToInt64(fdHandle, &fd));
close(fd);
2019-04-29 05:10:27 +00:00
}
void Dart_WingsSocket_close(Dart_NativeArguments arguments)
{
// TODO: Actually do something.
}