⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 icalproperty.cpp

📁 funambol windows mobile plugin source code, the source code is taken from the funambol site
💻 CPP
字号:
/*
 * Copyright (C) 2003-2007 Funambol, Inc.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY, TITLE, NONINFRINGEMENT or FITNESS FOR A PARTICULAR
 * PURPOSE.  See the GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
 * 02111-1307  USA
 */

#include "base/util/utils.h"
#include "vocl/iCalendar/iCalProperty.h"

iCalProperty::iCalProperty (WCHAR* v) {
     altre         = NULL;
     cn            = NULL;
     cutype        = NULL;
     delegatedFrom = NULL;
     delegatedTo   = NULL;
     dir           = NULL;
     encoding      = NULL;
     formattype    = NULL;
     fbtype        = NULL;
     language      = NULL;
     member        = NULL;
     partstat      = NULL;
     range         = NULL;
     trigrel       = NULL;
     related       = NULL;
     role          = NULL;
     rsvp          = NULL;
     sentby        = NULL;
     tzid          = NULL;
     valuetype     = NULL;
     xParams = NULL;

     value  = (v) ? wstrdup(v) : NULL;
}

iCalProperty::~iCalProperty() {
    if (altre) {
        delete [] altre; altre = NULL;
    }
    if (cn) {
        delete [] cn; cn = NULL;
    }
    if (cutype) {
        delete [] cutype; cutype = NULL;
    }
    if (delegatedFrom) {
        delete [] delegatedFrom; delegatedFrom = NULL;
    }
    if (delegatedTo) {
        delete [] delegatedTo; delegatedTo = NULL;
    }
    if (dir) {
        delete [] dir; dir = NULL;
    }
    if (encoding) {
        delete [] encoding; encoding = NULL;
    }
    if (formattype) {
        delete [] formattype; formattype = NULL;
    }
    if (fbtype) {
        delete [] fbtype; fbtype = NULL;
    }
    if (language) {
        delete [] language; language = NULL;
    }
    if (member) {
        delete [] member; member = NULL;
    }
    if (partstat) {
        delete [] partstat; partstat = NULL;
    }
    if (range) {
        delete [] range; range = NULL;
    }
    if (trigrel) {
        delete [] trigrel; trigrel = NULL;
    }
    if (related) {
        delete [] related; related = NULL;
    }
    if (role) {
        delete [] role; role = NULL;
    }
    if (rsvp) {
        delete [] rsvp; rsvp = NULL;
    }
    if (sentby) {
        delete [] sentby; sentby = NULL;
    }
    if (tzid) {
        delete [] tzid; tzid = NULL;
    }
    if (valuetype) {
        delete [] valuetype; valuetype = NULL;
    }
    if (xParams) {
        delete xParams; xParams = NULL;
    }
    if (value) {
        delete [] value; value = NULL;
    }
}

WCHAR* iCalProperty::getAltre (WCHAR* buf, int size) {
    if (buf == NULL) {
        return altre;
    }
    if (size >= 0) {
        wcsncpy(buf, altre, size);
    } else {
        wcscpy(buf, altre);
    }
    return buf;
}
WCHAR* iCalProperty::getCn (WCHAR* buf, int size) {
    if (buf == NULL) {
        return cn;
    }
    if (size >= 0) {
        wcsncpy(buf, cn, size);
    } else {
        wcscpy(buf, cn);
    }
    return buf;
}
WCHAR* iCalProperty::getCutype (WCHAR* buf, int size) {
    if (buf == NULL) {
        return cutype;
    }
    if (size >= 0) {
        wcsncpy(buf, cutype, size);
    } else {
        wcscpy(buf, cutype);
    }
    return buf;
}
WCHAR* iCalProperty::getDelegatedFrom (WCHAR* buf, int size) {
    if (buf == NULL) {
        return delegatedFrom;
    }
    if (size >= 0) {
        wcsncpy(buf, delegatedFrom, size);
    } else {
        wcscpy(buf, delegatedFrom);
    }
    return buf;
}
WCHAR* iCalProperty::getDelegatedTo (WCHAR* buf, int size) {
    if (buf == NULL) {
        return delegatedTo;
    }
    if (size >= 0) {
        wcsncpy(buf, delegatedTo, size);
    } else {
        wcscpy(buf, delegatedTo);
    }
    return buf;
}
WCHAR* iCalProperty::getDir (WCHAR* buf, int size) {
    if (buf == NULL) {
        return dir;
    }
    if (size >= 0) {
        wcsncpy(buf, dir, size);
    } else {
        wcscpy(buf, dir);
    }
    return buf;
}
WCHAR* iCalProperty::getEncoding (WCHAR* buf, int size) {
    if (buf == NULL) {
        return encoding;
    }
    if (size >= 0) {
        wcsncpy(buf, encoding, size);
    } else {
        wcscpy(buf, encoding);
    }
    return buf;
}
WCHAR* iCalProperty::getFormatType (WCHAR* buf, int size) {
    if (buf == NULL) {
        return formattype;
    }
    if (size >= 0) {
        wcsncpy(buf, formattype, size);
    } else {
        wcscpy(buf, formattype);
    }
    return buf;
}
WCHAR* iCalProperty::getFbType (WCHAR* buf, int size) {
    if (buf == NULL) {
        return fbtype;
    }
    if (size >= 0) {
        wcsncpy(buf, fbtype, size);
    } else {
        wcscpy(buf, fbtype);
    }
    return buf;
}
WCHAR* iCalProperty::getLanguage (WCHAR* buf, int size) {
    if (buf == NULL) {
        return language;
    }
    if (size >= 0) {
        wcsncpy(buf, language, size);
    } else {
        wcscpy(buf, language);
    }
    return buf;
}
WCHAR* iCalProperty::getMember (WCHAR* buf, int size) {
    if (buf == NULL) {
        return member;
    }
    if (size >= 0) {
        wcsncpy(buf, member, size);
    } else {
        wcscpy(buf, member);
    }
    return buf;
}
WCHAR* iCalProperty::getPartStat (WCHAR* buf, int size) {
    if (buf == NULL) {
        return partstat;
    }
    if (size >= 0) {
        wcsncpy(buf, partstat, size);
    } else {
        wcscpy(buf, partstat);
    }
    return buf;
}
WCHAR* iCalProperty::getRange (WCHAR* buf, int size) {
    if (buf == NULL) {
        return range;
    }
    if (size >= 0) {
        wcsncpy(buf, range, size);
    } else {
        wcscpy(buf, range);
    }
    return buf;
}
WCHAR* iCalProperty::getTrigRel (WCHAR* buf, int size) {
    if (buf == NULL) {
        return trigrel;
    }
    if (size >= 0) {
        wcsncpy(buf, trigrel, size);
    } else {
        wcscpy(buf, trigrel);
    }
    return buf;
}
WCHAR* iCalProperty::getRelated (WCHAR* buf, int size) {
    if (buf == NULL) {
        return related;
    }
    if (size >= 0) {
        wcsncpy(buf, related, size);
    } else {
        wcscpy(buf, related);
    }
    return buf;
}
WCHAR* iCalProperty::getRole (WCHAR* buf, int size) {
    if (buf == NULL) {
        return role;
    }
    if (size >= 0) {
        wcsncpy(buf, role, size);
    } else {
        wcscpy(buf, role);
    }
    return buf;
}
WCHAR* iCalProperty::getRsvp (WCHAR* buf, int size) {
    if (buf == NULL) {
        return rsvp;
    }
    if (size >= 0) {
        wcsncpy(buf, rsvp, size);
    } else {
        wcscpy(buf, rsvp);
    }
    return buf;
}
WCHAR* iCalProperty::getSentBy (WCHAR* buf, int size) {
    if (buf == NULL) {
        return sentby;
    }
    if (size >= 0) {
        wcsncpy(buf, sentby, size);
    } else {
        wcscpy(buf, sentby);
    }
    return buf;
}
WCHAR* iCalProperty::getTzID (WCHAR* buf, int size) {
    if (buf == NULL) {
        return tzid;
    }
    if (size >= 0) {
        wcsncpy(buf, tzid, size);
    } else {
        wcscpy(buf, tzid);
    }
    return buf;
}
WCHAR* iCalProperty::getValueType (WCHAR* buf, int size) {
    if (buf == NULL) {
        return valuetype;
    }
    if (size >= 0) {
        wcsncpy(buf, valuetype, size);
    } else {
        wcscpy(buf, valuetype);
    }
    return buf;
}
ArrayList* iCalProperty::getXParam () {
    return xParams;
}
WCHAR* iCalProperty::getValue (WCHAR* buf, int size) {
    if (buf == NULL) {
        return value;
    }
    if (size >= 0) {
        wcsncpy(buf, value, size);
    } else {
        wcscpy(buf, value);
    }
    return buf;
}

void iCalProperty::setAltre (WCHAR* e) {
    set(&altre, e);
}
void iCalProperty::setCn (WCHAR* e) {
    set(&cn, e);
}
void iCalProperty::setCutype (WCHAR* e) {
    set(&cutype, e);
}
void iCalProperty::setDelegatedFrom (WCHAR* e) {
    set(&delegatedFrom, e);
}
void iCalProperty::setDelegatedTo (WCHAR* e) {
    set(&delegatedTo, e);
}
void iCalProperty::setDir (WCHAR* e) {
    set(&dir, e);
}
void iCalProperty::setEncoding (WCHAR* e) {
    set(&encoding, e);
}
void iCalProperty::setFormatType (WCHAR* e) {
    set(&formattype, e);
}
void iCalProperty::setFbType (WCHAR* e) {
    set(&fbtype, e);
}
void iCalProperty::setLanguage (WCHAR* e) {
    set(&language, e);
}
void iCalProperty::setMember (WCHAR* e) {
    set(&member, e);
}
void iCalProperty::setPartStat (WCHAR* e) {
    set(&partstat, e);
}
void iCalProperty::setRange (WCHAR* e) {
    set(&range, e);
}
void iCalProperty::setTrigRel (WCHAR* e) {
    set(&trigrel, e);
}
void iCalProperty::setRelated (WCHAR* e) {
    set(&related, e);
}
void iCalProperty::setRole (WCHAR* e) {
    set(&role, e);
}
void iCalProperty::setRsvp (WCHAR* e) {
    set(&rsvp, e);
}
void iCalProperty::setSentBy (WCHAR* e) {
    set(&sentby, e);
}
void iCalProperty::setTzID (WCHAR* e) {
    set(&tzid, e);
}
void iCalProperty::setValueType (WCHAR* e) {
    set(&valuetype, e);
}
void iCalProperty::setXParam (ArrayList& list) {
    if (xParams) {
        xParams->clear();
    } else {
        xParams = new ArrayList();
    }

    int s = list.size();
    for (int i=0; i<s; ++i) {
        xParams->add(*list[i]);
    }
}
void iCalProperty::setValue (WCHAR* e) {
    set(&value, e);
}

void iCalProperty::set(WCHAR** property, WCHAR* v) {
    if (*property) {
        delete [] *property;
    }
    *property = (v) ? wstrdup(v) : NULL;
}

ArrayElement * iCalProperty::clone() {
    iCalProperty* ret = new iCalProperty();

    if (altre) ret->setAltre(altre);
    if (cn) ret->setCn(cn);
    if (cutype) ret->setCutype(cutype);
    if (delegatedFrom) ret->setDelegatedFrom(delegatedFrom);
    if (delegatedTo) ret->setDelegatedTo(delegatedTo);
    if (dir) ret->setDir(dir);
    if (encoding) ret->setEncoding(encoding);
    if (formattype) ret->setFormatType(formattype);
    if (fbtype) ret->setFbType(fbtype);
    if (language) ret->setLanguage(language);
    if (member) ret->setMember(member);
    if (partstat) ret->setPartStat(partstat);
    if (range) ret->setRange(range);
    if (trigrel) ret->setTrigRel(trigrel);
    if (related) ret->setRelated(related);
    if (role) ret->setRole(role);
    if (rsvp) ret->setRsvp(rsvp);
    if (sentby) ret->setSentBy(sentby);
    if (tzid) ret->setTzID(tzid);
    if (valuetype) ret->setValueType(valuetype);
    if (xParams) ret->setXParam(*xParams);
    if (value) ret->setValue(value);

    return (ArrayElement *)ret;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -