wlmaker
|
Go to the source code of this file.
Typedefs | |
typedef struct _wlmaker_subprocess_monitor_t | wlmaker_subprocess_monitor_t |
typedef struct _wlmaker_subprocess_handle_t | wlmaker_subprocess_handle_t |
typedef void(* | wlmaker_subprocess_terminated_callback_t) (void *userdata_ptr, wlmaker_subprocess_handle_t *subprocess_handle_ptr, int state, int code) |
typedef void(* | wlmaker_subprocess_window_callback_t) (void *userdata_ptr, wlmaker_subprocess_handle_t *subprocess_handle_ptr, wlmtk_window_t *window_ptr) |
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
typedef struct _wlmaker_subprocess_handle_t wlmaker_subprocess_handle_t |
Forward definition for a subprocess handle.
typedef struct _wlmaker_subprocess_monitor_t wlmaker_subprocess_monitor_t |
Forward definition for the subprocess monitor.
typedef void(* wlmaker_subprocess_terminated_callback_t) (void *userdata_ptr, wlmaker_subprocess_handle_t *subprocess_handle_ptr, int state, int code) |
Callback for then the subprocess is terminated.
userdata_ptr | |
subprocess_handle_ptr | |
state | |
code |
typedef void(* wlmaker_subprocess_window_callback_t) (void *userdata_ptr, wlmaker_subprocess_handle_t *subprocess_handle_ptr, wlmtk_window_t *window_ptr) |
Callback for when window events happened for the subprocess.
userdata_ptr | |
subprocess_handle_ptr | |
window_ptr |
bs_subprocess_t * wlmaker_subprocess_from_subprocess_handle | ( | wlmaker_subprocess_handle_t * | subprocess_handle_ptr | ) |
Returns the bs_subprocess_t
from the wlmaker_subprocess_handle_t.
void wlmaker_subprocess_monitor_cede | ( | wlmaker_subprocess_monitor_t * | monitor_ptr, |
wlmaker_subprocess_handle_t * | subprocess_handle_ptr | ||
) |
Releases the reference held on subprocess_handle_ptr
. Once the subprocess terminates, all corresponding resources will be freed.
monitor_ptr | |
subprocess_handle_ptr |
wlmaker_subprocess_monitor_t * wlmaker_subprocess_monitor_create | ( | wlmaker_server_t * | server_ptr | ) |
Creates the subprocess monitor
server_ptr |
void wlmaker_subprocess_monitor_destroy | ( | wlmaker_subprocess_monitor_t * | monitor_ptr | ) |
Destroys the subprocess monitor.
monitor_ptr |
wlmaker_subprocess_handle_t * wlmaker_subprocess_monitor_entrust | ( | wlmaker_subprocess_monitor_t * | monitor_ptr, |
bs_subprocess_t * | subprocess_ptr, | ||
wlmaker_subprocess_terminated_callback_t | terminated_callback, | ||
void * | userdata_ptr, | ||
wlmaker_subprocess_window_callback_t | window_created_callback, | ||
wlmaker_subprocess_window_callback_t | window_mapped_callback, | ||
wlmaker_subprocess_window_callback_t | window_unmapped_callback, | ||
wlmaker_subprocess_window_callback_t | window_destroyed_callback, | ||
bs_dynbuf_t * | stdout_dynbuf_ptr | ||
) |
Passes ownership of the started subprocess_ptr
to monitor_ptr
.
Also registers a set of callbacks that will be triggered. Permits to keep a central register of all started sub-processes, to monitor for termination, and to link up connecting clients with the sub-processes.
monitor_ptr | |
subprocess_ptr | |
terminated_callback | |
userdata_ptr | |
window_created_callback | |
window_mapped_callback | |
window_unmapped_callback | |
window_destroyed_callback | |
stdout_dynbuf_ptr |
bool wlmaker_subprocess_monitor_run | ( | wlmaker_subprocess_monitor_t * | monitor_ptr, |
bs_subprocess_t * | subprocess_ptr | ||
) |
Starts, entrust and cedes a subprocess to the monitor.
monitor_ptr | |
subprocess_ptr | Subprocess. Ignored, if NULL. Takes ownership. |