diff options
Diffstat (limited to 'protocols/jabber/jpacket.c')
| -rw-r--r-- | protocols/jabber/jpacket.c | 159 | 
1 files changed, 0 insertions, 159 deletions
| diff --git a/protocols/jabber/jpacket.c b/protocols/jabber/jpacket.c deleted file mode 100644 index 9c7ce00d..00000000 --- a/protocols/jabber/jpacket.c +++ /dev/null @@ -1,159 +0,0 @@ -/* -------------------------------------------------------------------------- - * - * License - * - * The contents of this file are subject to the Jabber Open Source License - * Version 1.0 (the "JOSL").  You may not copy or use this file, in either - * source code or executable form, except in compliance with the JOSL. You - * may obtain a copy of the JOSL at http://www.jabber.org/ or at - * http://www.opensource.org/.   - * - * Software distributed under the JOSL is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the JOSL - * for the specific language governing rights and limitations under the - * JOSL. - * - * Copyrights - *  - * Portions created by or assigned to Jabber.com, Inc. are  - * Copyright (c) 1999-2002 Jabber.com, Inc.  All Rights Reserved.  Contact - * information for Jabber.com, Inc. is available at http://www.jabber.com/. - * - * Portions Copyright (c) 1998-1999 Jeremie Miller. - *  - * Acknowledgements - *  - * Special thanks to the Jabber Open Source Contributors for their - * suggestions and support of Jabber. - *  - * Alternatively, the contents of this file may be used under the terms of the - * GNU General Public License Version 2 or later (the "GPL"), in which case - * the provisions of the GPL are applicable instead of those above.  If you - * wish to allow use of your version of this file only under the terms of the - * GPL and not to allow others to use your version of this file under the JOSL, - * indicate your decision by deleting the provisions above and replace them - * with the notice and other provisions required by the GPL.  If you do not - * delete the provisions above, a recipient may use your version of this file - * under either the JOSL or the GPL.  - *  - *  - * --------------------------------------------------------------------------*/ - -#include "jabber.h" -static jpacket jpacket_reset(jpacket p); - -jpacket jpacket_new(xmlnode x) -{ -    jpacket p; - -    if(x == NULL) -        return NULL; - -    p = pmalloc(xmlnode_pool(x),sizeof(_jpacket)); -    p->x = x; - -    return jpacket_reset(p); -} - -static jpacket jpacket_reset(jpacket p) -{ -    char *val; -    xmlnode x; - -    x = p->x; -    memset(p,0,sizeof(_jpacket)); -    p->x = x; -    p->p = xmlnode_pool(x); - -    if(strncmp(xmlnode_get_name(x),"message",7) == 0) -    { -        p->type = JPACKET_MESSAGE; -    }else if(strncmp(xmlnode_get_name(x),"presence",8) == 0) -    { -        p->type = JPACKET_PRESENCE; -        val = xmlnode_get_attrib(x, "type"); -        if(val == NULL) -            p->subtype = JPACKET__AVAILABLE; -        else if(strcmp(val,"unavailable") == 0) -            p->subtype = JPACKET__UNAVAILABLE; -        else if(strcmp(val,"probe") == 0) -            p->subtype = JPACKET__PROBE; -        else if(strcmp(val,"error") == 0) -            p->subtype = JPACKET__ERROR; -        else if(strcmp(val,"invisible") == 0) -            p->subtype = JPACKET__INVISIBLE; -        else if(*val == 's' || *val == 'u') -            p->type = JPACKET_S10N; -        else if(strcmp(val,"available") == 0) -        { /* someone is using type='available' which is frowned upon */ -            xmlnode_hide_attrib(x,"type"); -            p->subtype = JPACKET__AVAILABLE; -        }else -            p->type = JPACKET_UNKNOWN; -    }else if(strncmp(xmlnode_get_name(x),"iq",2) == 0) -    { -        p->type = JPACKET_IQ; -        p->iq = xmlnode_get_tag(x,"?xmlns"); -        p->iqns = xmlnode_get_attrib(p->iq,"xmlns"); -    } - -    /* set up the jids if any, flag packet as unknown if they are unparseable */ -    val = xmlnode_get_attrib(x,"to"); -    if(val != NULL) -        if((p->to = jid_new(p->p, val)) == NULL) -            p->type = JPACKET_UNKNOWN; -    val = xmlnode_get_attrib(x,"from"); -    if(val != NULL) -        if((p->from = jid_new(p->p, val)) == NULL) -            p->type = JPACKET_UNKNOWN; - -    return p; -} - - -int jpacket_subtype(jpacket p) -{ -    char *type; -    int ret = p->subtype; - -    if(ret != JPACKET__UNKNOWN) -        return ret; - -    ret = JPACKET__NONE; /* default, when no type attrib is specified */ -    type = xmlnode_get_attrib(p->x, "type"); -    if(j_strcmp(type,"error") == 0) -        ret = JPACKET__ERROR; -    else -        switch(p->type) -        { -        case JPACKET_MESSAGE: -            if(j_strcmp(type,"chat") == 0) -                ret = JPACKET__CHAT; -            else if(j_strcmp(type,"groupchat") == 0) -                ret = JPACKET__GROUPCHAT; -            else if(j_strcmp(type,"headline") == 0) -                ret = JPACKET__HEADLINE; -            break; -        case JPACKET_S10N: -            if(j_strcmp(type,"subscribe") == 0) -                ret = JPACKET__SUBSCRIBE; -            else if(j_strcmp(type,"subscribed") == 0) -                ret = JPACKET__SUBSCRIBED; -            else if(j_strcmp(type,"unsubscribe") == 0) -                ret = JPACKET__UNSUBSCRIBE; -            else if(j_strcmp(type,"unsubscribed") == 0) -                ret = JPACKET__UNSUBSCRIBED; -            break; -        case JPACKET_IQ: -            if(j_strcmp(type,"get") == 0) -                ret = JPACKET__GET; -            else if(j_strcmp(type,"set") == 0) -                ret = JPACKET__SET; -            else if(j_strcmp(type,"result") == 0) -                ret = JPACKET__RESULT; -            break; -        } - -    p->subtype = ret; -    return ret; -} | 
