|
@@ -51,6 +51,13 @@
|
|
|
#define PRES_WINFO_STR "presence.winfo"
|
|
|
#define PRES_WINFO_STR_LEN 14
|
|
|
|
|
|
+#define PRES_XCAP_CHANGE_STR "xcap-change"
|
|
|
+#define PRES_XCAP_CHANGE_STR_LEN 11
|
|
|
+
|
|
|
+#define PRES_LOCATION_STR "location"
|
|
|
+#define PRES_LOCATION_STR_LEN 8
|
|
|
+
|
|
|
+
|
|
|
|
|
|
static inline char* skip_token(char* _b, int _l)
|
|
|
{
|
|
@@ -99,6 +106,12 @@ static inline int event_parser(char* _s, int _l, event_t* _e)
|
|
|
if ((_e->text.len == PRES_STR_LEN) &&
|
|
|
!strncasecmp(PRES_STR, tmp.s, _e->text.len)) {
|
|
|
_e->parsed = EVENT_PRESENCE;
|
|
|
+ } else if ((_e->text.len == PRES_XCAP_CHANGE_STR_LEN) &&
|
|
|
+ !strncasecmp(PRES_XCAP_CHANGE_STR, tmp.s, _e->text.len)) {
|
|
|
+ _e->parsed = EVENT_XCAP_CHANGE;
|
|
|
+ } else if ((_e->text.len == PRES_LOCATION_STR_LEN) &&
|
|
|
+ !strncasecmp(PRES_LOCATION_STR, tmp.s, _e->text.len)) {
|
|
|
+ _e->parsed = EVENT_LOCATION;
|
|
|
} else if ((_e->text.len == PRES_WINFO_STR_LEN) &&
|
|
|
!strncasecmp(PRES_WINFO_STR, tmp.s, _e->text.len)) {
|
|
|
_e->parsed = EVENT_PRESENCE_WINFO;
|