亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? clientsettings.cpp

?? funambol windows mobile plugin source code, the source code is taken from the funambol site
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
*/

BOOL ClientSettings::read() {

    BOOL ret = FALSE;
    unsigned int i=0;

    //
    // Read common properties
    //
    lastErrorCode = ERR_NONE;
    ret = DMTClientConfig::read();
    if (lastErrorCode != ERR_NONE) {
        return FALSE;
    }

    if (sourceConfigsCount < 1) {
        return FALSE;
    }
    winSourceConfigsCount = sourceConfigsCount;

    //
    // Read additional properties for SyncSources (use winSyncSourceConfig)
    //
    if (winSourceConfigs) {
        delete [] winSourceConfigs;
    }

    if (!open()) {
        return FALSE;
    }

    readConfig(); // this 1st
    //readConfigSources("mail");

    winSourceConfigs = new WindowsSyncSourceConfig[sourceConfigsCount];
    for (i=0; i<sourceConfigsCount; i++) {

        // Link internal pointer to sourceConfigs array
        winSourceConfigs[i].setCommonConfig(DMTClientConfig::getSyncSourceConfig(i));

        int t=0;

        // Read specific properties
        readWinSourceConfig(i);

    }

    close();
    return ret;
}


// ---------------------------- Save properties to win registry ----------------------------
/**
* Save the configuration from this object into Windows registry.
* If SyncReport pointer is passed not NULL, each SyncSource configuration
* will be saved ONLY if that source was successfully synced.
* This method overrides 'DMTClientConfig::save()'.
*
* A separate 'winSourceConfigs' array is used to store all SS config, so a
* specific method 'saveWinSourceConfig()' is used to save sources config
* into the windows registry.
*
* @return TRUE if no errors
*/

/**
 * save everything
 */
BOOL ClientSettings::save() {

    BOOL ret = FALSE;
    //LOG.debug(DBG_WRITING_CONFIG_TO_DM);

    if (!sourcesNode) {
        open();
    }

    //
    // SyncML management node (TBD: manage dirty flags!)
    //
    saveAccessConfig(*syncMLNode);
    saveDeviceConfig(*syncMLNode);

    // save root values
    //saveConfig();


    lastErrorCode = ERR_NONE;
    for(unsigned int i=0; i<sourceConfigsCount; i++) {
           saveWinSourceConfig(i);
    }

    ret = (lastErrorCode == ERR_NONE);

    close();
    return ret;
}

/**
 * using the flags set in the 'dirty' property, we save sections accordingly
 * used in UI
 */
BOOL ClientSettings::saveDirty() {

    BOOL ret = FALSE;
    if(dirty){

        if (!sourcesNode) {
            open();
        }

        if (dirty & CS_DIRTY_ACCESS_CONFIG){
            //saveAccessConfig(*syncMLNode);
            saveConfig();
        }

        if(dirty & CS_DIRTY_DEVICE_CONFIG){
            //saveDeviceConfig(*syncMLNode);
            saveConfig();
        }

        // save root values
        if(dirty & CS_DIRTY_ROOT_CONFIG){
            saveConfig();
        }

        if(dirty & CS_DIRTY_SOURCE_ENABLED){
                saveSyncModes();
        }

        lastErrorCode = ERR_NONE;
        for(unsigned int i=0; i<sourceConfigsCount; i++) {
            if(dirty & CS_DIRTY_SOURCE_ALL){
                saveWinSourceConfig(i);
                //if(strcmp(winSourceConfigs[i].getName(),"mail") == 0){
                    //saveConfigSources("mail");
                //}
                continue;
            }

            if(strcmp(winSourceConfigs[i].getName(),"mail") == 0){
                if(dirty & CS_DIRTY_SOURCE_MAIL){
                    // copy all the properties on the default
                    saveWinSourceConfig(i);
                    //saveConfigSources("mail");
                    continue;
                }
            }

            if(strcmp(winSourceConfigs[i].getName(),"contact") == 0){
                if(dirty & CS_DIRTY_SOURCE_CONTACTS){
                    saveWinSourceConfig(i);
                    continue;
                }
            }

            if(strcmp(winSourceConfigs[i].getName(),"calendar") == 0){
                if(dirty & CS_DIRTY_SOURCE_CALENDAR){
                    saveWinSourceConfig(i);
                    continue;
                }
            }

            if(strcmp(winSourceConfigs[i].getName(),"task") == 0){
                if(dirty & CS_DIRTY_SOURCE_TASKS){
                    saveWinSourceConfig(i);
                    continue;
                }
            }

            if(strcmp(winSourceConfigs[i].getName(),"note") == 0){
                if(dirty & CS_DIRTY_SOURCE_NOTES){
                    saveWinSourceConfig(i);
                    continue;
                }
            }

            if(strcmp(winSourceConfigs[i].getName(),"briefcase") == 0){
                if(dirty & CS_DIRTY_SOURCE_BRIEFCASE){
                    saveWinSourceConfig(i);
                    continue;
                }
            }

        }
        ret = (lastErrorCode == ERR_NONE);

        //Setting dirty to false
        dirty = FALSE;
        close();
    }
    return ret;
}

/*
* Save WindowsSyncSourceConfig properties in DMTree for the desired Source.
* Source properties are placed in specific node under sources node.
* Notes:
* if the node for the current source is not found, it is created!
* if we are under a restore sync (slow/refresh), 'sync' property will
* be skipped (keep previous value from registry)
*
* @param i : the index of SyncSource node
*/
void ClientSettings::saveWinSourceConfig(unsigned int i) {

    ManagementNode* node;
    char nodeName[DIM_MANAGEMENT_PATH];

    if (!sourcesNode) {
        open();
    }

    //
    // If node not found, create node from Source name.
    //
    if (sourcesNode->getChild(i) == NULL) {
        char* fn = sourcesNode->createFullName();
        sprintf(nodeName, "%s/%s", fn, winSourceConfigs[i].getName());
        delete [] fn;
        node = dmt->readManagementNode(nodeName);
    }
    else {
        node = (ManagementNode*)sourcesNode->getChild(i)->clone();
    }

    //
    // Save source properties
    //
    if (node) {
        char buf[512];

        // Common props:
        node->setPropertyValue(PROPERTY_SOURCE_NAME,        winSourceConfigs[i].getName          ());
        node->setPropertyValue(PROPERTY_SOURCE_URI,         winSourceConfigs[i].getURI           ());
        node->setPropertyValue(PROPERTY_SOURCE_TYPE,        winSourceConfigs[i].getType          ());
        node->setPropertyValue(PROPERTY_SOURCE_VERSION,     winSourceConfigs[i].getVersion       ());
        node->setPropertyValue(PROPERTY_SOURCE_SYNC_MODES,  winSourceConfigs[i].getSyncModes     ());
        node->setPropertyValue(PROPERTY_SOURCE_ENCODING,    winSourceConfigs[i].getEncoding      ());
        node->setPropertyValue(PROPERTY_SOURCE_SUPP_TYPES,  winSourceConfigs[i].getSupportedTypes());
        node->setPropertyValue(PROPERTY_SOURCE_ENCRYPTION,  winSourceConfigs[i].getEncryption    ());

        node->setPropertyValue(PROPERTY_SOURCE_SCHEDULE,  winSourceConfigs[i].getSchedule().c_str());

        timestampToAnchor(winSourceConfigs[i].getLast(), buf);
        node->setPropertyValue(PROPERTY_SOURCE_LAST_SYNC, buf);

        node->setPropertyValue(PROPERTY_SOURCE_SYNC,    winSourceConfigs[i].getSync          ());
        node->setPropertyValue(PROPERTY_SOURCE_USE_SIF, winSourceConfigs[i].getUseSif().c_str());

        if (strcmp(winSourceConfigs[i].getName(), "contact")  == 0 ||
            strcmp(winSourceConfigs[i].getName(), "calendar") == 0 ||
            strcmp(winSourceConfigs[i].getName(), "task")  == 0) {

            if(winSourceConfigs[i].getUseSif() == "1"){
                node->setPropertyValue(PROPERTY_SOURCE_ENCODING, ("b64"));
                if (strcmp(winSourceConfigs[i].getName(), "contact")  == 0) {
                    node->setPropertyValue(PROPERTY_SOURCE_TYPE, "text/x-s4j-sifc");
                }
                else if (strcmp(winSourceConfigs[i].getName(), "calendar") == 0) {
                    node->setPropertyValue(PROPERTY_SOURCE_TYPE, "text/x-s4j-sife");
                }
                else if (strcmp(winSourceConfigs[i].getName(), "task") == 0)  {
                    node->setPropertyValue(PROPERTY_SOURCE_TYPE, "text/x-s4j-sift");
                }

            } else {
                if(strcmp(winSourceConfigs[i].getEncryption(), "0") != 0) {
                    node->setPropertyValue(PROPERTY_SOURCE_ENCODING, "b64");
                } else {
                    node->setPropertyValue(PROPERTY_SOURCE_ENCODING, "bin");
                }

                if (strcmp(winSourceConfigs[i].getName(), "contact")  == 0) {  // 2.1
                    node->setPropertyValue(PROPERTY_SOURCE_TYPE, "text/x-vcard");
                } else if (strcmp(winSourceConfigs[i].getName(), "calendar") == 0 ||
                    strcmp(winSourceConfigs[i].getName(), "task")  == 0) {
                    node->setPropertyValue(PROPERTY_SOURCE_TYPE, "text/x-vcalendar");
                }
            }
        } else if( (strcmp(winSourceConfigs[i].getName(), "briefcase") == 0) ||
                (strcmp(winSourceConfigs[i].getName(), "note") == 0) ) {

                if(strcmp(winSourceConfigs[i].getEncryption(), "0") != 0 ||
                   strcmp(winSourceConfigs[i].getName(), "note") == 0) {
                        node->setPropertyValue(PROPERTY_SOURCE_ENCODING, "b64");
                } else {
                    node->setPropertyValue(PROPERTY_SOURCE_ENCODING, "bin");
                }

                node->setPropertyValue(PROPERTY_SOURCE_TYPE, winSourceConfigs[i].getType()); // required?
                node->setPropertyValue(PROPERTY_SOURCE_DIR, winSourceConfigs[i].getSyncDir().data());

        } else if( (strcmp(winSourceConfigs[i].getName(), "mail") == 0)) {

            char t[128];

            sprintf(t, "%d", mailssconfig->getDownloadAge());
            node->setPropertyValue(PROPERTY_SOURCE_DOWNLOAD_AGE, t);
            sprintf(t, "%d", mailssconfig->getBodySize());
            node->setPropertyValue(PROPERTY_SOURCE_BODY_SIZE, t);
            sprintf(t, "%d", mailssconfig->getAttachSize());
            node->setPropertyValue(PROPERTY_SOURCE_ATTACH_SIZE, t);

            sprintf(t, "%d", mailssconfig->getInbox());
            node->setPropertyValue(PROPERTY_SOURCE_INBOX, t);
            sprintf(t, "%d", mailssconfig->getOutbox());
            node->setPropertyValue(PROPERTY_SOURCE_OUTBOX, t);
            sprintf(t, "%d", mailssconfig->getTrash());
            node->setPropertyValue(PROPERTY_SOURCE_TRASH, t);
            sprintf(t, "%d", mailssconfig->getSent());
            node->setPropertyValue(PROPERTY_SOURCE_SENT, t);
            sprintf(t, "%d", mailssconfig->getDraft());
            node->setPropertyValue(PROPERTY_SOURCE_DRAFT, t);
            sprintf(t, "%d", mailssconfig->getSchedule());
            node->setPropertyValue(PROPERTY_SOURCE_SCHEDULE, t);


            if(strcmp(winSourceConfigs[i].getEncryption(), "0") != 0) {
                mailssconfig->setEncoding("b64");
            } else {
                mailssconfig->setEncoding("bin");
            }
            node->setPropertyValue(PROPERTY_SOURCE_ENCODING, mailssconfig->getEncoding());

        }

        delete node;
    }
}

/**
* Save only "sync" properties of each source, to win registry.
*/
void ClientSettings::saveSyncModes() {

    if (!sourcesNode) {
        open();
    }

    ManagementNode* node = NULL;
    for(unsigned int i=0; i<sourceConfigsCount; ++i) {
        node = sourcesNode->getChild(i);
        if (node) {
            node->setPropertyValue(PROPERTY_SOURCE_SYNC, winSourceConfigs[i].getSync());
        }
        node = NULL;
    }

    close();
}


//////////////////////////////////////////////////////////////////////////

// ------------------------------ Get/Set objects ----------------------------------

/**
* Return a pointer to the internal WindowsSyncSourceConfig object from
* its name (must NOT be freed by caller).
* This method replaces 'getSyncSourceConfig()' of DMTClientConfig.
*
* @param name : the source name
* @return     : the correspondent WindowsSyncSourceConfig pointer
*/

WindowsSyncSourceConfig* ClientSettings::getWinSyncSourceConfig(const char* name) {
    if ((name == NULL) || (strlen(name) == 0)) {
        return 0;
    }

    for (unsigned int i=0; i<sourceConfigsCount; i++) {
        if (strcmp(winSourceConfigs[i].getName(), name) == 0) {
            return &winSourceConfigs[i];
        }
    }

    return 0;
}
/**
* Set the passed WindowsSyncSourceConfig object into the correspondent object
* inside 'winSourceConfigs' array. The values are copied into the object that
* matches the same name of the passed one.
* This method replaces the 'SyncManagerConfig::setSyncSourceConfig()'.
* Note:
* If a WindowsSyncSourceConfig with the same name is not found, the passed
* object is added at the end of the 'winSourceConfig' array.
*
* @param wsc : the WindowsSyncSourceConfig passed by reference
* @return    : TRUE if no errors
*/
BOOL ClientSettings::setSyncSourceConfig(WindowsSyncSourceConfig& wsc) {

    unsigned int i=0;
    for (i=0; i<winSourceConfigsCount; ++i) {
        if (strcmp(wsc.getName(), winSourceConfigs[i].getName()) == 0) {
            break;
        }
    }
    if (i >= winSourceConfigsCount) {
        // Not found! -> add the WindowsSyncSourceConfig.
        return addSyncSourceConfig(wsc);
    }

    // copy all values
    winSourceConfigs[i] = wsc;

    return TRUE;
}


/*
* Adds the passed WindowsSyncSourceConfig.
* It is added at the end of the 'winSourceConfig' array.
* This method replaces the 'SyncManagerConfig::addSyncSourceConfig()'.
*
* @param wsc : the WindowsSyncSourceConfig passed by reference
* @return    : TRUE if no errors
*/
BOOL ClientSettings::addSyncSourceConfig(WindowsSyncSourceConfig& wsc) {

    unsigned int i = 0;
    WindowsSyncSourceConfig* s = NULL;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美精品在线| 日本韩国欧美一区二区三区| 欧美一二三在线| 丝袜美腿亚洲一区二区图片| 欧美日韩高清一区二区不卡| 日韩av电影一区| 久久综合久久鬼色| 懂色av一区二区夜夜嗨| 中文字幕中文字幕在线一区 | 高清在线成人网| 亚洲国产精品黑人久久久| 9久草视频在线视频精品| 伊人婷婷欧美激情| 欧美精品第一页| 国产精品18久久久久久久久| 中文字幕制服丝袜一区二区三区 | 精品成人在线观看| 国产精选一区二区三区| 国产精品伦理在线| 欧美日韩精品一区二区三区四区 | 国产suv精品一区二区三区| 国产精品视频第一区| 色综合中文字幕国产 | 精品第一国产综合精品aⅴ| 国产激情精品久久久第一区二区| 国产精品久久毛片a| 欧美色区777第一页| 国产一区二区三区四区五区入口| 欧美精彩视频一区二区三区| 91精品1区2区| 精品一区二区在线看| 日韩美女精品在线| 欧美一区二区三区免费观看视频| 国产不卡在线播放| 亚洲在线观看免费| 国产日韩欧美综合一区| 欧美区一区二区三区| 国产·精品毛片| 日韩av电影免费观看高清完整版 | 2019国产精品| 欧美日韩视频在线第一区 | zzijzzij亚洲日本少妇熟睡| 性做久久久久久久久| 中文字幕乱码亚洲精品一区| 欧美福利视频导航| 99精品欧美一区二区三区综合在线| 青青草原综合久久大伊人精品优势| 国产精品美女久久久久高潮| 欧美成人aa大片| 欧美精品乱码久久久久久按摩| 成人网在线免费视频| 奇米影视一区二区三区小说| 亚洲精品免费在线| 久久人人爽人人爽| 日韩欧美电影一二三| 欧美二区在线观看| 色综合天天做天天爱| 国产精品白丝jk黑袜喷水| 日本不卡一区二区三区高清视频| 亚洲激情中文1区| 欧美国产精品专区| 精品国产乱码91久久久久久网站| 欧美精品三级日韩久久| 日本高清不卡视频| 91污在线观看| av激情综合网| 成人午夜免费视频| 国产又黄又大久久| 美脚の诱脚舐め脚责91 | 成人午夜激情在线| 国产成人免费网站| 国产精品66部| 国产传媒欧美日韩成人| 国产尤物一区二区| 国产精选一区二区三区| 国产成人在线观看免费网站| 国产宾馆实践打屁股91| 成人免费观看av| 不卡高清视频专区| 99国产欧美久久久精品| 99精品偷自拍| 在线观看一区二区视频| 欧美午夜精品一区二区三区| 欧美中文字幕一二三区视频| 欧美日韩一区中文字幕| 在线不卡免费av| 日韩免费电影一区| 久久综合九色综合97婷婷 | 成人欧美一区二区三区在线播放| 国产农村妇女毛片精品久久麻豆 | 国产精品青草久久| 中文字幕av一区二区三区高| 亚洲视频网在线直播| 一个色在线综合| 亚洲r级在线视频| 久久99国产精品麻豆| 国产高清不卡二三区| 91在线视频观看| 欧美美女激情18p| 日韩免费高清av| 国产精品久久久久影院| 一区二区三区欧美久久| 日韩中文欧美在线| 国产精品一区二区不卡| 一本大道综合伊人精品热热| 欧美午夜精品久久久久久超碰| 制服丝袜中文字幕亚洲| 国产色产综合产在线视频| 1024亚洲合集| 久久99久久久久久久久久久| 高清国产一区二区三区| 欧美日韩在线精品一区二区三区激情 | 日本高清无吗v一区| 制服丝袜日韩国产| 国产精品美女一区二区三区| 亚洲va欧美va人人爽| 国产精品资源在线观看| 99精品国产91久久久久久 | 欧美日韩中文字幕一区二区| 日韩欧美成人激情| 亚洲人成人一区二区在线观看 | 久久久综合激的五月天| 综合激情网...| 蜜臀久久99精品久久久画质超高清| 成人福利在线看| 欧美一级片在线观看| 中文字幕字幕中文在线中不卡视频| 蜜臀av国产精品久久久久| 97成人超碰视| 国产午夜精品一区二区| 日本中文一区二区三区| 91视视频在线直接观看在线看网页在线看 | 精品久久久久久久久久久久久久久| 最近中文字幕一区二区三区| 国产中文字幕一区| 3d动漫精品啪啪| 亚洲综合免费观看高清完整版在线| 国产精品69毛片高清亚洲| 欧美精品自拍偷拍| 亚洲欧美日韩国产成人精品影院 | 蜜桃久久av一区| 色一情一伦一子一伦一区| 久久影院电视剧免费观看| 天天综合色天天综合| 91麻豆成人久久精品二区三区| 久久亚洲免费视频| 久久精品国产成人一区二区三区| 欧美影院一区二区| 国产精品午夜久久| 韩日精品视频一区| 欧美mv日韩mv国产| 日本女人一区二区三区| 欧美性猛片aaaaaaa做受| 亚洲欧洲精品一区二区三区| 国产剧情一区二区| 久久久蜜桃精品| 久久国产精品无码网站| 日韩欧美精品在线| 美女性感视频久久| 91精品国产综合久久蜜臀| 午夜久久久久久久久久一区二区| 欧美主播一区二区三区美女| 亚洲蜜臀av乱码久久精品蜜桃| av一本久道久久综合久久鬼色| 欧美经典一区二区| 国产91高潮流白浆在线麻豆| 久久久精品蜜桃| 国产精品一二三| 国产欧美日韩一区二区三区在线观看| 国产又黄又大久久| 中文字幕巨乱亚洲| 91亚洲男人天堂| 伊人性伊人情综合网| 欧美在线高清视频| 日本少妇一区二区| 日韩美女一区二区三区| 国产麻豆精品在线观看| 日本一区二区三区四区在线视频| 成人午夜私人影院| 亚洲裸体在线观看| 欧美丝袜自拍制服另类| 午夜影院久久久| 日韩欧美一区在线| 黄页网站大全一区二区| 国产女人18水真多18精品一级做 | 国产精品二区一区二区aⅴ污介绍| 成人午夜视频网站| 亚洲精品日韩一| 欧美男男青年gay1069videost| 美女高潮久久久| 国产精品免费人成网站| 91农村精品一区二区在线| 亚洲永久精品大片| 欧美一级在线视频| 国产成人自拍网| 一区二区成人在线| 日韩欧美你懂的| 成人一级片网址| 亚洲sss视频在线视频| 久久综合色之久久综合|