mirror of
https://github.com/Genymobile/scrcpy.git
synced 2025-04-21 12:05:00 +00:00
server_cbs
This commit is contained in:
parent
4ae7d1e9a9
commit
1f8200e295
3 changed files with 40 additions and 3 deletions
|
@ -262,6 +262,24 @@ stream_on_eos(struct stream *stream, void *userdata) {
|
|||
PUSH_EVENT(EVENT_STREAM_STOPPED);
|
||||
}
|
||||
|
||||
static void
|
||||
server_on_connection_failed(struct server *server, void *userdata) {
|
||||
struct scrcpy *scrcpy = userdata;
|
||||
|
||||
}
|
||||
|
||||
static void
|
||||
server_on_connected(struct server *server, void *userdata) {
|
||||
struct scrcpy *scrcpy = userdata;
|
||||
|
||||
}
|
||||
|
||||
static void
|
||||
server_on_disconnected(struct server *server, void *userdata) {
|
||||
struct scrcpy *scrcpy = userdata;
|
||||
|
||||
}
|
||||
|
||||
bool
|
||||
scrcpy(struct scrcpy_options *options) {
|
||||
static struct scrcpy scrcpy;
|
||||
|
@ -310,7 +328,12 @@ scrcpy(struct scrcpy_options *options) {
|
|||
.power_off_on_close = options->power_off_on_close,
|
||||
};
|
||||
|
||||
if (!server_init(&s->server, ¶ms)) {
|
||||
static const struct server_callbacks cbs = {
|
||||
.on_connection_failed = server_on_connection_failed,
|
||||
.on_connected = server_on_connected,
|
||||
.on_disconnected = server_on_disconnected,
|
||||
};
|
||||
if (!server_init(&s->server, ¶ms, &cbs, s)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -390,7 +390,8 @@ connect_to_server(struct server *server, uint32_t attempts, sc_tick delay) {
|
|||
}
|
||||
|
||||
bool
|
||||
server_init(struct server *server, const struct server_params *params) {
|
||||
server_init(struct server *server, const struct server_params *params,
|
||||
const struct server_callbacks *cbs, void *cbs_userdata) {
|
||||
bool ok = server_params_copy(&server->params, params);
|
||||
if (!ok) {
|
||||
LOGE("Could not copy server params");
|
||||
|
@ -432,6 +433,9 @@ server_init(struct server *server, const struct server_params *params) {
|
|||
server->tunnel_enabled = false;
|
||||
server->tunnel_forward = false;
|
||||
|
||||
server->cbs = cbs;
|
||||
server->cbs_userdata = cbs_userdata;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -60,11 +60,21 @@ struct server {
|
|||
uint16_t local_port; // selected from port_range
|
||||
bool tunnel_enabled;
|
||||
bool tunnel_forward; // use "adb forward" instead of "adb reverse"
|
||||
|
||||
const struct server_callbacks *cbs;
|
||||
void *cbs_userdata;
|
||||
};
|
||||
|
||||
struct server_callbacks {
|
||||
void (*on_connection_failed)(struct server *server, void *userdata);
|
||||
void (*on_connected)(struct server *server, void *userdata);
|
||||
void (*on_disconnected)(struct server *server, void *userdata);
|
||||
};
|
||||
|
||||
// init the server with the given params
|
||||
bool
|
||||
server_init(struct server *server, const struct server_params *params);
|
||||
server_init(struct server *server, const struct server_params *params,
|
||||
const struct server_callbacks *cbs, void *cbs_userdata);
|
||||
|
||||
// push, enable tunnel et start the server
|
||||
bool
|
||||
|
|
Loading…
Add table
Reference in a new issue