fbd-feedback-base: Add fbd_feedback_is_available ()
This allows to check if a feedback type is available at all.
This commit is contained in:
committed by
Guido Gunther
parent
f950cfc3a2
commit
94ef60f73e
@@ -227,3 +227,28 @@ fbd_feedback_base_done (FbdFeedbackBase *self)
|
|||||||
priv->ended = TRUE;
|
priv->ended = TRUE;
|
||||||
g_signal_emit (self, signals[SIGNAL_ENDED], 0);
|
g_signal_emit (self, signals[SIGNAL_ENDED], 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* fbd_feedback_available:
|
||||||
|
* @self: The feedback
|
||||||
|
*
|
||||||
|
* Whether this feedback type is available at all. This can be %FALSE e.g.
|
||||||
|
* due to missing hardware.
|
||||||
|
*
|
||||||
|
* Returns: %FALSE if the feedback type is not available at all %TRUE if unsure
|
||||||
|
* or available.
|
||||||
|
*/
|
||||||
|
gboolean
|
||||||
|
fbd_feedback_is_available (FbdFeedbackBase *self)
|
||||||
|
{
|
||||||
|
FbdFeedbackBaseClass *klass;
|
||||||
|
|
||||||
|
g_return_val_if_fail (FBD_IS_FEEDBACK_BASE (self), FALSE);
|
||||||
|
|
||||||
|
klass = FBD_FEEDBACK_BASE_GET_CLASS (self);
|
||||||
|
if (klass->is_available)
|
||||||
|
return klass->is_available (self);
|
||||||
|
else
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,8 +17,9 @@ struct _FbdFeedbackBaseClass
|
|||||||
{
|
{
|
||||||
GObjectClass parent_class;
|
GObjectClass parent_class;
|
||||||
|
|
||||||
void (*run) (FbdFeedbackBase *self);
|
void (*run) (FbdFeedbackBase *self);
|
||||||
void (*end) (FbdFeedbackBase *self);
|
void (*end) (FbdFeedbackBase *self);
|
||||||
|
gboolean (*is_available) (FbdFeedbackBase *self);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -27,5 +28,6 @@ void fbd_feedback_run (FbdFeedbackBase *self);
|
|||||||
void fbd_feedback_end (FbdFeedbackBase *self);
|
void fbd_feedback_end (FbdFeedbackBase *self);
|
||||||
gboolean fbd_feedback_get_ended (FbdFeedbackBase *self);
|
gboolean fbd_feedback_get_ended (FbdFeedbackBase *self);
|
||||||
void fbd_feedback_base_done (FbdFeedbackBase *self);
|
void fbd_feedback_base_done (FbdFeedbackBase *self);
|
||||||
|
gboolean fbd_feedback_is_available (FbdFeedbackBase *self);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|||||||
Reference in New Issue
Block a user