libguac  1.5.0
recording.h
Go to the documentation of this file.
1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements. See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership. The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the
7  * "License"); you may not use this file except in compliance
8  * with the License. You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing,
13  * software distributed under the License is distributed on an
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15  * KIND, either express or implied. See the License for the
16  * specific language governing permissions and limitations
17  * under the License.
18  */
19 
20 #ifndef GUAC_RECORDING_H
21 #define GUAC_RECORDING_H
22 
23 #include <guacamole/client.h>
24 
36 #define GUAC_COMMON_RECORDING_MAX_SUFFIX 255
37 
43 #define GUAC_COMMON_RECORDING_MAX_SUFFIX_LENGTH 4
44 
49 #define GUAC_COMMON_RECORDING_MAX_NAME_LENGTH 2048
50 
56 typedef struct guac_recording {
57 
63 
71 
79 
88 
97 
99 
157  const char* path, const char* name, int create_path,
158  int include_output, int include_mouse, int include_touch,
159  int include_keys);
160 
171 
198  int x, int y, int button_mask);
199 
235  int id, int x, int y, int x_radius, int y_radius,
236  double angle, double force);
237 
253  int keysym, int pressed);
254 
255 #endif
256 
Functions and structure contents for the Guacamole proxy client.
void guac_recording_report_mouse(guac_recording *recording, int x, int y, int button_mask)
Reports the current mouse position and button state within the recording.
void guac_recording_report_key(guac_recording *recording, int keysym, int pressed)
Reports a change in the state of an individual key within the recording.
guac_recording * guac_recording_create(guac_client *client, const char *path, const char *name, int create_path, int include_output, int include_mouse, int include_touch, int include_keys)
Replaces the socket of the given client such that all further Guacamole protocol output will be copie...
void guac_recording_report_touch(guac_recording *recording, int id, int x, int y, int x_radius, int y_radius, double angle, double force)
Reports the current state of a touch contact within the recording.
void guac_recording_free(guac_recording *recording)
Frees the resources associated with the given in-progress recording.
Guacamole proxy client.
Definition: client.h:46
An in-progress session recording, attached to a guac_client instance such that output Guacamole instr...
Definition: recording.h:56
int include_touch
Non-zero if multi-touch events should be included in the session recording, zero otherwise.
Definition: recording.h:87
int include_mouse
Non-zero if changes to mouse state, such as position and buttons pressed or released,...
Definition: recording.h:78
int include_output
Non-zero if output which is broadcast to each connected client (graphics, streams,...
Definition: recording.h:70
int include_keys
Non-zero if keys pressed and released should be included in the session recording,...
Definition: recording.h:96
guac_socket * socket
The guac_socket which writes directly to the recording file, rather than to any particular user.
Definition: recording.h:62
The core I/O object of Guacamole.
Definition: socket.h:39