3 * A file-manager extension which offers configurable context menu actions.
5 * Copyright (C) 2005 The GNOME Foundation
6 * Copyright (C) 2006-2008 Frederic Ruaudel and others (see AUTHORS)
7 * Copyright (C) 2009-2015 Pierre Wieser and others (see AUTHORS)
9 * FileManager-Actions is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of
12 * the License, or (at your option) any later version.
14 * FileManager-Actions is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * General Public License for more details.
19 * You should have received a copy of the GNU General Public License
20 * along with FileManager-Actions; see the file COPYING. If not, see
21 * <http://www.gnu.org/licenses/>.
24 * Frederic Ruaudel <grumz@grumz.net>
25 * Rodrigo Moya <rodrigo@gnome-db.org>
26 * Pierre Wieser <pwieser@trychlos.org>
27 * ... and many others (see AUTHORS)
30 #ifndef __FILEMANAGER_ACTIONS_API_TIMEOUT_H__
31 #define __FILEMANAGER_ACTIONS_API_TIMEOUT_H__
36 * @short_description: The FMATimeout Structure
37 * @include: filemanager-actions/fma-timeout.h
39 * The FMATimeout structure is a convenience structure to manage timeout
45 #include <glib-object.h>
51 * @user_data: data to be passed to the callback function.
53 * Prototype of the callback function.
57 typedef void ( *FMATimeoutFunc
)( void *user_data
);
61 * @timeout: timeout configurable parameter (ms)
62 * @handler: handler function
63 * @user_data: user data
65 * This structure let the user (i.e. the code which uses it) manage functions
66 * which should only be called after some time of inactivity, which is typically
67 * the case of 'item-change' handlers.
69 * The structure is supposed to be initialized at construction time with
70 * @timeout in milliseconds, @handler and @user_data input parameters.
71 * The private data should be set to %NULL.
73 * Such a structure must be allocated for each managed event.
75 * When an event is detected, the fma_timeout_event() function must be called
76 * with this structure. The function makes sure that the @handler callback
77 * will be triggered as soon as no event will be recorded after @timeout
78 * milliseconds of inactivity.
85 FMATimeoutFunc handler
;
93 void fma_timeout_event( FMATimeout
*timeout
);
97 #endif /* __FILEMANAGER_ACTIONS_API_TIMEOUT_H__ */