1*bbecb9d1SAndroid Build Coastguard Worker /* 2*bbecb9d1SAndroid Build Coastguard Worker * Copyright 2021 Google LLC 3*bbecb9d1SAndroid Build Coastguard Worker * SPDX-License-Identifier: MIT 4*bbecb9d1SAndroid Build Coastguard Worker */ 5*bbecb9d1SAndroid Build Coastguard Worker 6*bbecb9d1SAndroid Build Coastguard Worker #include "proxy_common.h" 7*bbecb9d1SAndroid Build Coastguard Worker 8*bbecb9d1SAndroid Build Coastguard Worker #include "proxy_client.h" 9*bbecb9d1SAndroid Build Coastguard Worker #include "proxy_renderer.h" 10*bbecb9d1SAndroid Build Coastguard Worker #include "proxy_server.h" 11*bbecb9d1SAndroid Build Coastguard Worker 12*bbecb9d1SAndroid Build Coastguard Worker int proxy_renderer_init(const struct proxy_renderer_cbs * cbs,uint32_t flags)13*bbecb9d1SAndroid Build Coastguard Workerproxy_renderer_init(const struct proxy_renderer_cbs *cbs, uint32_t flags) 14*bbecb9d1SAndroid Build Coastguard Worker { 15*bbecb9d1SAndroid Build Coastguard Worker proxy_renderer.cbs = cbs; 16*bbecb9d1SAndroid Build Coastguard Worker proxy_renderer.flags = flags; 17*bbecb9d1SAndroid Build Coastguard Worker 18*bbecb9d1SAndroid Build Coastguard Worker proxy_renderer.server = proxy_server_create(); 19*bbecb9d1SAndroid Build Coastguard Worker if (!proxy_renderer.server) 20*bbecb9d1SAndroid Build Coastguard Worker goto fail; 21*bbecb9d1SAndroid Build Coastguard Worker 22*bbecb9d1SAndroid Build Coastguard Worker proxy_renderer.client = 23*bbecb9d1SAndroid Build Coastguard Worker proxy_client_create(proxy_renderer.server, proxy_renderer.flags); 24*bbecb9d1SAndroid Build Coastguard Worker if (!proxy_renderer.client) 25*bbecb9d1SAndroid Build Coastguard Worker goto fail; 26*bbecb9d1SAndroid Build Coastguard Worker 27*bbecb9d1SAndroid Build Coastguard Worker return 0; 28*bbecb9d1SAndroid Build Coastguard Worker 29*bbecb9d1SAndroid Build Coastguard Worker fail: 30*bbecb9d1SAndroid Build Coastguard Worker proxy_renderer_fini(); 31*bbecb9d1SAndroid Build Coastguard Worker return -1; 32*bbecb9d1SAndroid Build Coastguard Worker } 33*bbecb9d1SAndroid Build Coastguard Worker 34*bbecb9d1SAndroid Build Coastguard Worker void proxy_renderer_fini(void)35*bbecb9d1SAndroid Build Coastguard Workerproxy_renderer_fini(void) 36*bbecb9d1SAndroid Build Coastguard Worker { 37*bbecb9d1SAndroid Build Coastguard Worker if (proxy_renderer.server) 38*bbecb9d1SAndroid Build Coastguard Worker proxy_server_destroy(proxy_renderer.server); 39*bbecb9d1SAndroid Build Coastguard Worker 40*bbecb9d1SAndroid Build Coastguard Worker if (proxy_renderer.client) 41*bbecb9d1SAndroid Build Coastguard Worker proxy_client_destroy(proxy_renderer.client); 42*bbecb9d1SAndroid Build Coastguard Worker 43*bbecb9d1SAndroid Build Coastguard Worker memset(&proxy_renderer, 0, sizeof(struct proxy_renderer)); 44*bbecb9d1SAndroid Build Coastguard Worker } 45*bbecb9d1SAndroid Build Coastguard Worker 46*bbecb9d1SAndroid Build Coastguard Worker void proxy_renderer_reset(void)47*bbecb9d1SAndroid Build Coastguard Workerproxy_renderer_reset(void) 48*bbecb9d1SAndroid Build Coastguard Worker { 49*bbecb9d1SAndroid Build Coastguard Worker proxy_client_reset(proxy_renderer.client); 50*bbecb9d1SAndroid Build Coastguard Worker } 51