2
0
Эх сурвалжийг харах

added presence.winfo, xcap-change, and location event packages

Jamey Hicks 21 жил өмнө
parent
commit
9c4071761e

+ 13 - 0
parser/parse_event.c

@@ -51,6 +51,13 @@
 #define PRES_WINFO_STR "presence.winfo"
 #define PRES_WINFO_STR "presence.winfo"
 #define PRES_WINFO_STR_LEN 14
 #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)
 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) && 
 	if ((_e->text.len == PRES_STR_LEN) && 
 	    !strncasecmp(PRES_STR, tmp.s, _e->text.len)) {
 	    !strncasecmp(PRES_STR, tmp.s, _e->text.len)) {
 		_e->parsed = EVENT_PRESENCE;
 		_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) && 
 	} else if ((_e->text.len == PRES_WINFO_STR_LEN) && 
 		   !strncasecmp(PRES_WINFO_STR, tmp.s, _e->text.len)) {
 		   !strncasecmp(PRES_WINFO_STR, tmp.s, _e->text.len)) {
 		_e->parsed = EVENT_PRESENCE_WINFO;
 		_e->parsed = EVENT_PRESENCE_WINFO;

+ 2 - 1
parser/parse_event.h

@@ -41,7 +41,8 @@
 #define EVENT_OTHER          0
 #define EVENT_OTHER          0
 #define EVENT_PRESENCE       1
 #define EVENT_PRESENCE       1
 #define EVENT_PRESENCE_WINFO 2
 #define EVENT_PRESENCE_WINFO 2
-
+#define EVENT_XCAP_CHANGE    3
+#define EVENT_LOCATION       4
 
 
 typedef struct event {
 typedef struct event {
 	str text;       /* Original string representation */
 	str text;       /* Original string representation */