mirror of
https://github.com/jkcoxson/idevice.git
synced 2026-03-02 14:36:16 +01:00
Create location simulation example in cpp
This commit is contained in:
30
cpp/src/remote_server.cpp
Normal file
30
cpp/src/remote_server.cpp
Normal file
@@ -0,0 +1,30 @@
|
||||
// Jackson Coxson
|
||||
|
||||
#include <idevice++/remote_server.hpp>
|
||||
|
||||
namespace IdeviceFFI {
|
||||
|
||||
std::optional<RemoteServer> RemoteServer::from_socket(ReadWrite&& rw, FfiError& err) {
|
||||
RemoteServerHandle* out = nullptr;
|
||||
|
||||
// Rust consumes the stream regardless of result, release BEFORE the call
|
||||
ReadWriteOpaque* raw = rw.release();
|
||||
|
||||
if (IdeviceFfiError* e = ::remote_server_new(raw, &out)) {
|
||||
err = FfiError(e);
|
||||
return std::nullopt;
|
||||
}
|
||||
return RemoteServer::adopt(out);
|
||||
}
|
||||
|
||||
std::optional<RemoteServer>
|
||||
RemoteServer::connect_rsd(Adapter& adapter, RsdHandshake& rsd, FfiError& err) {
|
||||
RemoteServerHandle* out = nullptr;
|
||||
if (IdeviceFfiError* e = ::remote_server_connect_rsd(adapter.raw(), rsd.raw(), &out)) {
|
||||
err = FfiError(e);
|
||||
return std::nullopt;
|
||||
}
|
||||
return RemoteServer::adopt(out);
|
||||
}
|
||||
|
||||
} // namespace IdeviceFFI
|
||||
Reference in New Issue
Block a user