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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? client.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/fscapi.h"
// Define the test configuration
#include "examples/config.h"

//#include "crtdbg.h"
#include "base/messages.h"
#include "base/Log.h"
#include "base/util/ArrayList.h"
#include "base/util/StringBuffer.h"
#include "spds/spdsutils.h"
#include "spds/constants.h"
#include "client/SyncClient.h"
#include "client/DMTClientConfig.h"
#ifdef TEST_SYNCSOURCE
#include "examples/TestSyncSource.h"
#include "examples/TestSyncSource2.h"
#endif
#include "filter/AllClause.h"
#include "filter/ClauseUtil.h"
#include "filter/LogicalClause.h"
#include "filter/FieldClause.h"
#include "filter/SourceFilter.h"
#include "filter/WhereClause.h"
#include "syncml/core/core.h"
#include "syncml/formatter/Formatter.h"
#include "spds/DefaultConfigFactory.h"

#ifdef TEST_EVENT_HANDLING
#include "examples/listeners/TestSyncListener.h"
#include "examples/listeners/TestSyncSourceListener.h"
#include "examples/listeners/TestSyncStatusListener.h"
#include "examples/listeners/TestSyncItemListener.h"
#include "examples/listeners/TestTransportListener.h"
#include "event/SetListener.h"
#endif

#ifdef TEST_FILTER
void testFilter();
#endif
#ifdef TEST_CLAUSE
void testClause();
#endif
#ifdef TEST_CONFIG_FILTER
void testConfigFilter();
#endif
#ifdef TEST_ENCRYPTION
void testEncryption();
#endif
#ifdef TEXT_XMLPROCESSOR
static void testXMLProcessor();
#endif

void createConfig(DMTClientConfig& config);

#define APPLICATION_URI "Funambol/SyncclientPIM"
#define LOG_TITLE		"Funambol Win32 Example Log"
#define LOG_PATH		"."
#define LOG_LEVEL		LOG_LEVEL_DEBUG
#define SOURCE_NAME     "briefcase"
#define WSOURCE_NAME    TEXT("briefcase")
#define DEVICE_ID       "Funambol Win32 Example"


#ifdef _WIN32_WCE
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd ) {
#else
int main(int argc, char** argv) {
#endif

    // Init LOG
    Log(0, LOG_PATH, LOG_NAME);
    LOG.reset(LOG_TITLE);
    LOG.setLevel(LOG_LEVEL_NONE);

#if 0
    _CrtSetDbgFlag (ON);

    // Get current flag
    int tmpFlag = _CrtSetDbgFlag( _CRTDBG_REPORT_FLAG );

    // Turn on leak-checking bit
    tmpFlag |= _CRTDBG_LEAK_CHECK_DF;

    // Turn on automatic checks
    tmpFlag |= _CRTDBG_CHECK_ALWAYS_DF;

    // Set flag to the new value
    _CrtSetDbgFlag( tmpFlag );
#endif

#ifdef TEST_ENCODE
    WCHAR *content = loadAndConvert(TEXT("message.xml"), TEXT("base64"));
    if(!content) {
        fprintf(stderr, "Error in uudecode.");
        exit(1);
    }
    convertAndSave(TEXT("message_out.xml"), content, TEXT("base64"));
#endif


#ifdef TEST_EVENT_HANDLING

    //
    // Set listeners:
    //
    TestSyncListener*       listener1 = new TestSyncListener();
    TestSyncSourceListener* listener2 = new TestSyncSourceListener();
    TestSyncStatusListener* listener3 = new TestSyncStatusListener();
    TestSyncItemListener*   listener4 = new TestSyncItemListener();
    TestTransportListener*  listener5 = new TestTransportListener();

    setSyncListener      (listener1);
    setSyncSourceListener(listener2);
    setSyncStatusListener(listener3);
    setSyncItemListener  (listener4);
    setTransportListener (listener5);

    #ifndef TEST_SYNCSOURCE
    #define TEST_SYNCSOURCE  1
    #endif

#endif

// ------------- Main sample client ------------------------
#ifdef TEST_SYNCSOURCE

    //
    // Create the configuration.
    //
    DMTClientConfig config(APPLICATION_URI);

    // Read config from registry.
    if (!config.read() ||
        strcmp(config.getDeviceConfig().getDevID(), DEVICE_ID)) {
        // Config not found -> generate a default config
        createConfig(config);
    }

    //
    // Create the SyncSource passing its name and its config.
    //
    TestSyncSource source(WSOURCE_NAME, config.getSyncSourceConfig(SOURCE_NAME));
    SyncSource* ssArray[] = { &source, NULL };

    //
    // Create the SyncClient .
    //
    SyncClient sampleClient;

    // Start the sync!
    if( sampleClient.sync(config, ssArray) ) {
        LOG.error("Error in sync.");
    }

    // Print sync results.
    StringBuffer res;
    sampleClient.getSyncReport()->toString(res);
    printf("\n%s", res.c_str());

    // Save config to registry.
    config.save();

#endif
// ----------------------------------------------------------


#ifdef TEST_EVENT_HANDLING

    //
    // Unset Listeners
    //
    unsetSyncListener      ();
    unsetSyncSourceListener();
    unsetSyncStatusListener();
    unsetSyncItemListener  ();
    unsetTransportListener ();

#endif


#ifdef TEST_SYNC_ENCRYPTION
	Sync4jClient& s4j = Sync4jClient::getInstance();
    s4j.setDMConfig(APPLICATION_URI);

    TestSyncSource source = TestSyncSource(TEXT("briefcase"));

    SyncSource** ssArray = new SyncSource*[2];
    ssArray[0] = &source;
    ssArray[1] = NULL;
    s4j.sync(ssArray);
#endif

#ifdef TEST_ENCRYPTION
	testEncryption();
#endif

#ifdef TEST_FILTER
    testFilter();
#endif

#ifdef TEST_CLAUSE
    testClause();
#endif

#ifdef TEST_CONFIG_FILTER
    testConfigFilter();
#endif



#ifdef TEST_XMLPROCESSOR
    testXMLProcessor();
#endif
    return 0;
}

#ifdef TEST_XMLPROCESSOR
static void testXMLProcessor(void)
{
    const char xml1[] =
        "<document>\n\
            <LocURI>./devinf11</LocURI>\n\
            <plaintag>\n\
                <attrtag attr=\"val\">content</attrtag>\n\
            </plaintag>\n\
            <emptytag/>\n\
         </document>" ;

    unsigned int pos = 0, start = 0, end = 0;
    const char *p = 0;

    // Get 'document' tag
    char *doc = XMLProcessor::copyElementContent(xml1, "document", &pos);
    LOG.debug("Document: '%s'", doc);
    LOG.debug("xml[pos]= '%s'", xml1 + pos);

    char buf[256];

    // Get 'plaintag' content, using start/end pos
    if(!XMLProcessor::getElementContent(doc, "plaintag", &pos, &start, &end)){
        LOG.error("TEST FAILED.");
        return;
    }
    memset(buf, 0, 255);
    memcpy(buf, doc+start, end-start);
    LOG.debug("Plaintag: '%s'", buf);

    // Get 'LocURI' content, using start/end pos
    if(!XMLProcessor::getElementContent(doc, "LocURI", &pos, &start, &end)){
        LOG.error("TEST FAILED.");
        return;
    }
    memset(buf, 0, 255);
    memcpy(buf, doc+start, end-start);
    LOG.debug("LocURI: '%s'", buf);

    // Get 'attrtag' content, using start/end pos
    if(!XMLProcessor::getElementContent(doc, "attrtag", &pos, &start, &end)){
        LOG.error("TEST FAILED.");
        return;
    }
    memset(buf, 0, 255);
    memcpy(buf, doc+start, end-start);
    LOG.debug("Attrtag: '%s'", buf);

    // Get 'attrtag' attr list, using start/end pos
    if(!XMLProcessor::getElementAttributes(doc, "attrtag", &start, &end)){
        LOG.error("TEST FAILED.");
        return;
    }
    memset(buf, 0, 255);
    memcpy(buf, doc+start, end-start);
    LOG.debug("Attrlist: '%s'", buf);

    // Get 'emptytag' content, that should be empty
    const char*empty = XMLProcessor::copyElementContent(doc, "emptytag");
    if(!empty){
        LOG.error("TEST FAILED.");
        return;
    }
    LOG.debug("Emptytag: '%s'", empty);

    if(doc)
        delete [] doc;
    if (empty)
        delete [] empty;
}
#endif

//
// Function to create a default config.
//
void createConfig(DMTClientConfig& config) {

    AccessConfig* ac = DefaultConfigFactory::getAccessConfig();
    config.setAccessConfig(*ac);
    delete ac;

    DeviceConfig* dc = DefaultConfigFactory::getDeviceConfig();
    dc->setDevID(DEVICE_ID);     // So next time won't be generated, we always save config at the end.
    dc->setMan  ("Funambol");
    config.setDeviceConfig(*dc);
    delete dc;

    SyncSourceConfig* sc = DefaultConfigFactory::getSyncSourceConfig(SOURCE_NAME);
    sc->setEncoding("plain/text");
    sc->setType    ("text");
    sc->setURI     ("briefcase");
    config.setSyncSourceConfig(*sc);
    delete sc;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩电影在线一区二区三区| 欧美高清在线一区| 亚洲一区二区三区爽爽爽爽爽| 成人av电影免费在线播放| 精品福利一二区| 国产成人综合在线观看| 久久精品视频免费| 99re免费视频精品全部| 亚洲精品国久久99热| 欧美亚洲丝袜传媒另类| 日韩国产欧美视频| 久久一二三国产| 成人av电影免费观看| 一区二区三区在线播| 3atv一区二区三区| 国产在线日韩欧美| 亚洲欧洲日韩av| 欧美色图天堂网| 久久99在线观看| 中国色在线观看另类| 91丨九色丨黑人外教| 亚洲成人免费av| 精品国产第一区二区三区观看体验 | 在线播放中文一区| 国产裸体歌舞团一区二区| 国产精品久久久久久久久免费樱桃| 97久久精品人人澡人人爽| 日韩精品国产精品| 国产校园另类小说区| 99久久久免费精品国产一区二区| 亚洲一区在线免费观看| 日韩精品一区二区三区视频播放 | 一区在线播放视频| 欧美久久久久久久久中文字幕| 免费高清视频精品| 中文字幕一区二区三区视频 | 久久黄色级2电影| 国产精品卡一卡二卡三| 欧美精品日韩一本| 99国产精品国产精品毛片| 蜜桃视频在线一区| 亚洲欧美一区二区三区久本道91 | 国产三级三级三级精品8ⅰ区| 色狠狠一区二区| 国产成人精品免费在线| 婷婷久久综合九色综合绿巨人| 国产亚洲精品精华液| 91精品国产一区二区三区香蕉| 99久久久精品免费观看国产蜜| 日韩电影在线观看网站| 亚洲欧美日韩综合aⅴ视频| 成人综合激情网| 亚洲自拍偷拍欧美| 《视频一区视频二区| 欧美一级免费观看| 一本大道av伊人久久综合| 美国毛片一区二区三区| 亚洲精品一二三| 久久影院午夜论| 欧美日韩综合色| 九九国产精品视频| 日韩成人免费在线| 亚洲美女免费视频| 国产欧美日韩视频在线观看| 欧美日韩免费高清一区色橹橹| 国产成人精品免费网站| 蜜臀av一区二区在线免费观看| 一区二区日韩av| 日韩免费观看高清完整版| 在线精品视频免费播放| 国产河南妇女毛片精品久久久| 亚洲v日本v欧美v久久精品| 国产精品国产三级国产普通话三级 | 亚洲在线免费播放| 国产精品灌醉下药二区| 久久婷婷综合激情| 日韩视频免费直播| 欧美人动与zoxxxx乱| 色美美综合视频| 成人午夜视频在线观看| 国内精品久久久久影院一蜜桃| 国产精品久久久久久亚洲毛片 | 蜜桃av噜噜一区| 亚洲一区二区三区在线播放| 亚洲特级片在线| 337p日本欧洲亚洲大胆精品 | 91一区二区在线观看| 国内不卡的二区三区中文字幕 | 欧美日韩三级一区二区| 99在线精品视频| 不卡高清视频专区| 精品一区二区三区影院在线午夜| 亚洲国产精品久久久久秋霞影院| 亚洲欧美日韩一区二区 | 国产欧美日韩在线| 欧美国产欧美综合| 国产精品高潮呻吟| 亚洲三级电影网站| 亚洲免费电影在线| 一区二区三区在线播| 亚洲精品国产视频| 一区二区免费视频| 一区二区视频在线看| 一区二区成人在线视频| 洋洋av久久久久久久一区| 亚洲在线视频免费观看| 奇米亚洲午夜久久精品| 精品一区二区国语对白| 久久精品二区亚洲w码| 黄色资源网久久资源365| 亚洲国产精品影院| 日本亚洲最大的色成网站www| 午夜精品久久久久影视| 免费欧美在线视频| 国产精品自拍毛片| 三级精品在线观看| 日本色综合中文字幕| 韩国女主播成人在线| 成人久久18免费网站麻豆| 91网上在线视频| 宅男在线国产精品| 久久久久国产精品厨房| 中文一区二区在线观看| 亚洲综合精品自拍| 性感美女极品91精品| 久久99久久久久| 成人视屏免费看| 欧美综合久久久| 精品国产区一区| 亚洲男女一区二区三区| 丝袜美腿亚洲一区二区图片| 精品一区二区三区免费播放| 成人一级视频在线观看| 欧美丝袜丝交足nylons| 337p亚洲精品色噜噜狠狠| 中文无字幕一区二区三区| 亚洲一区二区三区美女| 精品一区二区免费看| av不卡在线观看| 91精品欧美福利在线观看| 国产人成一区二区三区影院| 亚洲综合激情网| 粉嫩嫩av羞羞动漫久久久| 欧美日韩中文字幕一区| 国产欧美一区二区精品婷婷| 国产精品三级电影| 亚洲超碰97人人做人人爱| 成人网在线播放| 日韩欧美视频一区| 亚洲免费观看在线视频| 国产乱人伦偷精品视频免下载| 欧美在线小视频| 国产欧美一区在线| 卡一卡二国产精品| 成人性色生活片免费看爆迷你毛片| 欧美性猛片xxxx免费看久爱| 欧美国产日韩一二三区| 免费视频一区二区| 91电影在线观看| 中文字幕免费不卡在线| 久久国产尿小便嘘嘘| 欧美午夜理伦三级在线观看| 欧美韩国日本综合| 蜜乳av一区二区| 91蝌蚪porny| 国产亚洲精品中文字幕| 久久精品国产成人一区二区三区 | 精品国产乱码久久| 亚洲图片有声小说| 99免费精品在线| 国产精品美女久久福利网站| 黑人巨大精品欧美黑白配亚洲| 宅男噜噜噜66一区二区66| 亚洲成人www| 色播五月激情综合网| 亚洲欧洲日韩女同| 成人福利视频网站| 国产精品九色蝌蚪自拍| 丁香婷婷综合色啪| 国产色产综合色产在线视频| 激情深爱一区二区| 久久人人97超碰com| 黑人巨大精品欧美黑白配亚洲| 欧美大片一区二区三区| 另类小说综合欧美亚洲| 精品国产乱码久久| 国产精品99久| 国产女人18水真多18精品一级做 | 亚洲成人你懂的| 欧美色图天堂网| 五月激情六月综合| 日韩一区二区三区免费看| 亚洲综合另类小说| 成人h动漫精品| 成人欧美一区二区三区黑人麻豆| 久久精品噜噜噜成人av农村| 精品国产乱码久久久久久免费| 国产一区二区调教| 一区在线中文字幕| 欧美性感一类影片在线播放|