#include "interop.h" #include Interop::Interop() { } GoString Interop::toGoString_WeakRef(QByteArray *qba) { return GoString{qba->data(), qba->length()}; } int64_t Interop::GetMagic() { return ::GetMagic(); } // GoSliceManagedWrapper::GoSliceManagedWrapper(const QList& qsl) : rawStrings(), slice(), strings(nullptr) { rawStrings.reserve(qsl.size()); strings = new GoString[qsl.size()]; for (int i = 0; i < qsl.size(); ++i) { rawStrings.push_back( qsl.at(i) ); strings[i].p = rawStrings[i].data(); strings[i].n = rawStrings[i].size(); } slice.data = static_cast(strings); slice.len = qsl.size(); // * sizeof(GoString); slice.cap = slice.len; } GoSliceManagedWrapper::~GoSliceManagedWrapper() { delete[] strings; }