*
* This work is licensed under the terms of the GNU GPL, version 2 or later.
* See the COPYING file in the top-level directory.
+ *
+ * TODO:
+ *
+ * - Enable SSL
+ * - Manage SetOptions/ResetOptions commands
*/
#include "qemu/osdep.h"
#include "qom/object_interfaces.h"
#include "io/channel-socket.h"
#include "ui/input.h"
+#include "qom/object.h"
#include "ui/vnc_keysym.h" /* use name2keysym from VNC as we use X11 values */
#include "qemu/cutils.h"
#include "qapi/qmp/qerror.h"
#include "input-barrier.h"
#define TYPE_INPUT_BARRIER "input-barrier"
-#define INPUT_BARRIER(obj) \
- OBJECT_CHECK(InputBarrier, (obj), TYPE_INPUT_BARRIER)
-#define INPUT_BARRIER_GET_CLASS(obj) \
- OBJECT_GET_CLASS(InputBarrierClass, (obj), TYPE_INPUT_BARRIER)
-#define INPUT_BARRIER_CLASS(klass) \
- OBJECT_CLASS_CHECK(InputBarrierClass, (klass), TYPE_INPUT_BARRIER)
+OBJECT_DECLARE_SIMPLE_TYPE(InputBarrier,
+ INPUT_BARRIER)
-typedef struct InputBarrier InputBarrier;
-typedef struct InputBarrierClass InputBarrierClass;
#define MAX_HELLO_LENGTH 1024
char buffer[MAX_HELLO_LENGTH];
};
-struct InputBarrierClass {
- ObjectClass parent_class;
-};
static const char *cmd_names[] = {
[barrierCmdCNoop] = "CNOP",
ib->y_origin = 0;
ib->width = 1920;
ib->height = 1080;
-
- object_property_add_str(obj, "name",
- input_barrier_get_name,
- input_barrier_set_name);
- object_property_add_str(obj, "server",
- input_barrier_get_server,
- input_barrier_set_server);
- object_property_add_str(obj, "port",
- input_barrier_get_port,
- input_barrier_set_port);
- object_property_add_str(obj, "x-origin",
- input_barrier_get_x_origin,
- input_barrier_set_x_origin);
- object_property_add_str(obj, "y-origin",
- input_barrier_get_y_origin,
- input_barrier_set_y_origin);
- object_property_add_str(obj, "width",
- input_barrier_get_width,
- input_barrier_set_width);
- object_property_add_str(obj, "height",
- input_barrier_get_height,
- input_barrier_set_height);
}
static void input_barrier_class_init(ObjectClass *oc, void *data)
UserCreatableClass *ucc = USER_CREATABLE_CLASS(oc);
ucc->complete = input_barrier_complete;
+
+ object_class_property_add_str(oc, "name",
+ input_barrier_get_name,
+ input_barrier_set_name);
+ object_class_property_add_str(oc, "server",
+ input_barrier_get_server,
+ input_barrier_set_server);
+ object_class_property_add_str(oc, "port",
+ input_barrier_get_port,
+ input_barrier_set_port);
+ object_class_property_add_str(oc, "x-origin",
+ input_barrier_get_x_origin,
+ input_barrier_set_x_origin);
+ object_class_property_add_str(oc, "y-origin",
+ input_barrier_get_y_origin,
+ input_barrier_set_y_origin);
+ object_class_property_add_str(oc, "width",
+ input_barrier_get_width,
+ input_barrier_set_width);
+ object_class_property_add_str(oc, "height",
+ input_barrier_get_height,
+ input_barrier_set_height);
}
static const TypeInfo input_barrier_info = {
.name = TYPE_INPUT_BARRIER,
.parent = TYPE_OBJECT,
- .class_size = sizeof(InputBarrierClass),
.class_init = input_barrier_class_init,
.instance_size = sizeof(InputBarrier),
.instance_init = input_barrier_instance_init,