mirror of
https://github.com/X11Libre/xserver.git
synced 2026-03-24 10:14:52 +00:00
xace: export XaceRegisterCallback() and XaceDeleteCallback()
Allow drivers to use Xace as a clean way for retrieving property updates. Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
12
Xext/xace.c
12
Xext/xace.c
@@ -280,3 +280,15 @@ XaceIsLocal(ClientPtr client)
|
||||
{
|
||||
return ClientIsLocal(client);
|
||||
}
|
||||
|
||||
Bool
|
||||
XaceRegisterCallback(int hook, CallbackProcPtr callback, void *data)
|
||||
{
|
||||
return AddCallback(XaceHooks+(hook), callback, data);
|
||||
}
|
||||
|
||||
Bool
|
||||
XaceDeleteCallback(int hook, CallbackProcPtr callback, void *data)
|
||||
{
|
||||
return DeleteCallback(XaceHooks+(hook), callback, data);
|
||||
}
|
||||
|
||||
17
Xext/xace.h
17
Xext/xace.h
@@ -58,11 +58,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
extern CallbackListPtr XaceHooks[XACE_NUM_HOOKS];
|
||||
|
||||
/* Entry point for hook functions. Called by Xserver.
|
||||
* Required by libdbe and libextmod
|
||||
* Required by several modules
|
||||
*/
|
||||
/* needs to be exported for in-tree modsetting driver, but not part
|
||||
of public API for external modules */
|
||||
_X_EXPORT int XaceHook(int hook, ... /* appropriate args for hook */);
|
||||
_X_EXPORT Bool XaceRegisterCallback(int hook, CallbackProcPtr callback, void *data);
|
||||
_X_EXPORT Bool XaceDeleteCallback(int hook, CallbackProcPtr callback, void *data);
|
||||
|
||||
/* determine whether any callbacks are present for the XACE hook */
|
||||
int XaceHookIsSet(int hook);
|
||||
@@ -96,16 +96,7 @@ int XaceHookScreensaverAccess(ClientPtr client, ScreenPtr screen, Mask access_mo
|
||||
int XaceHookAuthAvail(ClientPtr client, XID authId);
|
||||
int XaceHookKeyAvail(xEventPtr ev, DeviceIntPtr dev, int count);
|
||||
|
||||
|
||||
/* Register a callback for a given hook.
|
||||
*/
|
||||
#define XaceRegisterCallback(hook,callback,data) \
|
||||
AddCallback(XaceHooks+(hook), callback, data)
|
||||
|
||||
/* Unregister an existing callback for a given hook.
|
||||
*/
|
||||
#define XaceDeleteCallback(hook,callback,data) \
|
||||
DeleteCallback(XaceHooks+(hook), callback, data)
|
||||
/* Register / unregister a callback for a given hook. */
|
||||
|
||||
/* XTrans wrappers for use by security modules
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user