registry.cpp

来自「funambol window mobile客户端源代码」· C++ 代码 · 共 1,075 行 · 第 1/5 页

CPP
1,075
字号
    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\notes")), TEXT("name"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\notes"), TEXT("name"),  value                                , true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\notes")), TEXT("type"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\notes"), TEXT("type"),  value                                , true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\notes")), TEXT("syncModes"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\notes"), 
        TEXT("syncModes"),  TEXT("slow,two-way,one-way-server,one-way-client,refresh-server,refresh-client"), true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\notes")), TEXT("uri"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\notes"), TEXT("uri"),  value                                 , true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\notes")), TEXT("useSIF"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\notes"), TEXT("useSIF"),  value                              , true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\notes")), TEXT("encoding"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\notes"), TEXT("encoding"),  value                            , true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\notes")), TEXT("dir"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\notes"), TEXT("dir"),  value                            , true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\notes")), TEXT("version"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\notes"), TEXT("version"),  value                            , true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\notes")), TEXT("supportedTypes"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\notes"), TEXT("supportedTypes"),  value                            , true);
    if (value) { delete [] value; value = NULL; }


    // Mail
    // it needs because in 3.0 the inbox and outbox can be synched separately.
    // not true in v6 version. So if the sync is two-way the inbox and outbox are checked
    bool isTwoWay = false;

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\mails")), TEXT("sync"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\mails"), TEXT("sync"),  value                                , true);
    if (value && wcscmp(value, TEXT("two-way")) != NULL)
        isTwoWay = true;
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\mails")), TEXT("last"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\mails"), TEXT("last"),  value                                , true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\mails")), TEXT("name"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\mails"), TEXT("name"),  value                                , true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\mails")), TEXT("type"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\mails"), TEXT("type"),  value                                , true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\mails")), TEXT("syncModes"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\mails"), 
        TEXT("syncModes"),  TEXT("slow,two-way,refresh-server"), true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\mails")), TEXT("uri"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\mails"), TEXT("uri"),  value                                , true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\mails")), TEXT("useSIF"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\mails"), TEXT("useSIF"),  value                                , true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\mails")), TEXT("encoding"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\mails"), TEXT("encoding"),  value                                , true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\mails")), TEXT("Inbox"));
    if (isTwoWay)
        wcscpy(value, TEXT("1"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\mails"), TEXT("Inbox"),  value                                , true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\mails")), TEXT("Outbox"));
    if (isTwoWay)
        wcscpy(value, TEXT("1"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\mails"), TEXT("Outbox"),  value                                , true);
    if (value) { delete [] value; value = NULL; }

    // trash not syncable in v 6.0
    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\mails")), TEXT("Trash"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\mails"), TEXT("Trash"),  TEXT("0")                                , true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\mails")), TEXT("Sent"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\mails"), TEXT("Sent"),  TEXT("0")                                , true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\mails")), TEXT("Draft"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\mails"), TEXT("Draft"),  TEXT("0")                                , true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\mails")), TEXT("attachSize"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\mails"), TEXT("attachSize"),  value                                , true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\mails")), TEXT("bodySize"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\mails"), TEXT("bodySize"),  value                                , true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\mails")), TEXT("downloadAge"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\mails"), TEXT("downloadAge"),  value                                , true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\mails")), TEXT("mailMaxMsgSize"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\mails"), TEXT("mailMaxMsgSize"),  value                                , true);
    if (value) { delete [] value; value = NULL; }

    // Config
    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\config")), TEXT("sync"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\config"), TEXT("sync"),  value                                , true);
    if (value) { delete [] value; value = NULL; }
    
    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\config")), TEXT("last"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\config"), TEXT("last"),  value                                , true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\config")), TEXT("name"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\config"), TEXT("name"),  value                                , true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\config")), TEXT("type"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\config"), TEXT("type"),  value                                , true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\config")), TEXT("syncModes"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\config"), TEXT("syncModes"),  value                                , true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\config")), TEXT("uri"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\config"), TEXT("uri"),  value                                , true);
    if (value) { delete [] value; value = NULL; }
    
    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\sources\\config")), TEXT("encoding"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\sources\\config"), TEXT("encoding"),  value                                , true);
    if (value) { delete [] value; value = NULL; }
    
    return true;
}


bool backupRegistryVersion() {

    createAllRegistryBackup();

    wchar_t* value = NULL;
    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\syncml\\Auth")), TEXT("username"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\syncml\\Auth"), TEXT("username"),    value, true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\syncml\\Auth")), TEXT("password"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\syncml\\Auth"), TEXT("password"),    value, true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\syncml\\Auth")), TEXT("clientNonce"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\syncml\\Auth"), TEXT("clientNonce"),    value, true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\syncml\\Auth")), TEXT("serverNonce"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\syncml\\Auth"), TEXT("serverNonce"),    value, true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\syncml\\Auth")), TEXT("serverID"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\syncml\\Auth"), TEXT("serverID"),    value, true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\syncml\\Auth")), TEXT("serverPWD"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\syncml\\Auth"), TEXT("serverPWD"),    value, true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\syncml\\Auth")), TEXT("isServerAuthRequired"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\syncml\\Auth"), TEXT("isServerAuthRequired"),    value, true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\syncml\\Auth")), TEXT("clientAuthType"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\syncml\\Auth"), TEXT("clientAuthType"),    value, true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\syncml\\Auth")), TEXT("serverAuthType"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\syncml\\Auth"), TEXT("serverAuthType"),    value, true);
    if (value) { delete [] value; value = NULL; }

    // Conn
        value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\syncml\\Conn")), TEXT("syncUrl"));
        setPropertyValue(TEXT("SyncclientPIM\\spds\\syncml\\Conn"), TEXT("syncUrl"),    value, true);
        if (value) { delete [] value; value = NULL; }
    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\syncml\\Conn")), TEXT("proxyHost"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\syncml\\Conn"), TEXT("proxyHost"),    value, true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\syncml\\Conn")), TEXT("proxyPort"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\syncml\\Conn"), TEXT("proxyPort"),    value, true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\syncml\\Conn")), TEXT("useProxy"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\syncml\\Conn"), TEXT("useProxy"),    value, true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\syncml\\Conn")), TEXT("proxyUsername"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\syncml\\Conn"), TEXT("proxyUsername"),    value, true);
    if (value) { delete [] value; value = NULL; }

    value = readPropertyValue(getFullReg( TEXT("Software\\%s\\SyncclientPIM\\spds\\syncml\\Conn")), TEXT("proxyPassword"));
    setPropertyValue(TEXT("SyncclientPIM\\spds\\syn

⌨️ 快捷键说明

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