1 /*
2  * Copyright (C) 2020 Purism SPC
3  *
4  * SPDX-License-Identifier: GPL-3.0+
5  */
6 #pragma once
7 
8 #include <glib-object.h>
9 
10 G_BEGIN_DECLS
11 
12 #define FBD_TYPE_FEEDBACK_BASE (fbd_feedback_base_get_type())
13 
14 G_DECLARE_DERIVABLE_TYPE (FbdFeedbackBase, fbd_feedback_base, FBD, FEEDBACK_BASE, GObject);
15 
16 struct _FbdFeedbackBaseClass
17 {
18   GObjectClass parent_class;
19 
20   void     (*run) (FbdFeedbackBase *self);
21   void     (*end) (FbdFeedbackBase *self);
22   gboolean (*is_available) (FbdFeedbackBase *self);
23 };
24 
25 
26 const gchar *fbd_feedback_get_event_name (FbdFeedbackBase *self);
27 void         fbd_feedback_run (FbdFeedbackBase *self);
28 void         fbd_feedback_end (FbdFeedbackBase *self);
29 gboolean     fbd_feedback_get_ended (FbdFeedbackBase *self);
30 void         fbd_feedback_base_done (FbdFeedbackBase *self);
31 gboolean     fbd_feedback_is_available (FbdFeedbackBase *self);
32 
33 G_END_DECLS
34