diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2008-07-13 18:40:53 +0930 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2008-07-13 20:54:33 +0930 |
commit | 5bcc45e07e8726a5442567472dd29cfb5c901f2d (patch) | |
tree | 231436a1967b3fbcf0e9a929b67204f68378afb5 /Xi/xiproperty.c | |
parent | c9eb0e870c87d291311491452adf7f91a911e24b (diff) |
Xi: expose Enable/DisableDevice through XI_PROP_ENABLED property.
Diffstat (limited to 'Xi/xiproperty.c')
-rw-r--r-- | Xi/xiproperty.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Xi/xiproperty.c b/Xi/xiproperty.c index 17043beab..c9a01e4b7 100644 --- a/Xi/xiproperty.c +++ b/Xi/xiproperty.c @@ -39,8 +39,54 @@ #include "xiproperty.h" +/** + * Properties used or alloced from inside the server. + */ +static struct dev_properties +{ + Atom type; + char *name; +} dev_properties[] = { + {0, XI_PROP_ENABLED} +}; + static long XIPropHandlerID = 1; +/** + * Return the type assigned to the specified atom or 0 if the atom isn't known + * to the DIX. + */ +_X_EXPORT Atom +XIGetKnownProperty(char *name) +{ + int i; + for (i = 0; i < (sizeof(dev_properties)/sizeof(struct dev_properties)); i++) + { + if (strcmp(name, dev_properties[i].name) == 0) + return dev_properties[i].type; + } + + return 0; +} + +/** + * Init those properties that are allocated by the server and most likely used + * by the DIX or the DDX. + */ +void +XIInitKnownProperties(void) +{ + int i; + for (i = 0; i < (sizeof(dev_properties)/sizeof(struct dev_properties)); i++) + { + dev_properties[i].type = + MakeAtom(dev_properties[i].name, + strlen(dev_properties[i].name), + TRUE); + } +} + + /* Registers a new property handler on the given device and returns a unique * identifier for this handler. This identifier is required to unregister the * property handler again. |