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

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

?? nseudoraprofilemigrator.cpp

?? 現在很火的郵件客戶端軟件thunderbird的源碼
?? CPP
字號:
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- *//* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is The Mail Profile Migrator. * * The Initial Developer of the Original Code is Scott MacGregor. * Portions created by the Initial Developer are Copyright (C) 2004 * the Initial Developer. All Rights Reserved. * * Contributor(s): *  Scott MacGregor <mscott@mozilla.org> * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */#include "nsMailProfileMigratorUtils.h"#include "nsCRT.h"#include "nsDirectoryServiceDefs.h"#include "nsIObserverService.h"#include "nsIPrefLocalizedString.h"#include "nsIPrefService.h"#include "nsIServiceManager.h"#include "nsISupportsArray.h"#include "nsISupportsPrimitives.h"#include "nsNetCID.h"#include "nsNetUtil.h"#include "nsEudoraProfileMigrator.h"#include "nsIProfileMigrator.h"#include "nsVoidArray.h"#include "nsIImportSettings.h"#include "nsIFileSpec.h" // needed for an obsolete APINS_IMPL_ISUPPORTS2(nsEudoraProfileMigrator, nsIMailProfileMigrator, nsITimerCallback)nsEudoraProfileMigrator::nsEudoraProfileMigrator(){  mProcessingMailFolders = PR_FALSE;  // get the import service  mImportModule = do_CreateInstance("@mozilla.org/import/import-eudora;1");}nsEudoraProfileMigrator::~nsEudoraProfileMigrator(){           }nsresult nsEudoraProfileMigrator::ContinueImport(){  return Notify(nsnull);}///////////////////////////////////////////////////////////////////////////////// nsITimerCallbackNS_IMETHODIMPnsEudoraProfileMigrator::Notify(nsITimer *timer){  PRInt32 progress;  mGenericImporter->GetProgress(&progress);    nsAutoString index;  index.AppendInt( progress );   NOTIFY_OBSERVERS(MIGRATION_PROGRESS, index.get());   if (progress == 100) // are we done yet?  {    if (mProcessingMailFolders)      return FinishCopyingMailFolders();    else      return FinishCopyingAddressBookData();  }  else  {    // fire a timer to handle the next one.     mFileIOTimer = do_CreateInstance("@mozilla.org/timer;1");    if (mFileIOTimer)      mFileIOTimer->InitWithCallback(NS_STATIC_CAST(nsITimerCallback *, this), 100, nsITimer::TYPE_ONE_SHOT);  }  return NS_OK;}///////////////////////////////////////////////////////////////////////////////// nsIMailProfileMigratorNS_IMETHODIMPnsEudoraProfileMigrator::Migrate(PRUint16 aItems, nsIProfileStartup* aStartup, const PRUnichar* aProfile){  nsresult rv = NS_OK;  PRBool aReplace = PR_FALSE;  if (aStartup)   {    aReplace = PR_TRUE;    rv = aStartup->DoStartup();    NS_ENSURE_SUCCESS(rv, rv);  }  NOTIFY_OBSERVERS(MIGRATION_STARTED, nsnull);  rv = ImportSettings(mImportModule);  // now import address books  // this routine will asynchronously import address book data and it will then kick off  // the final migration step, copying the mail folders over.  rv = ImportAddressBook(mImportModule);    // don't broadcast an on end migration here. We aren't done until our asynch import process says we are done.  return rv;}NS_IMETHODIMPnsEudoraProfileMigrator::GetMigrateData(const PRUnichar* aProfile,                                            PRBool aReplace,                                            PRUint16* aResult){  // There's no harm in assuming everything is available.  *aResult = nsIMailProfileMigrator::ACCOUNT_SETTINGS | nsIMailProfileMigrator::ADDRESSBOOK_DATA |              nsIMailProfileMigrator::MAILDATA;  return NS_OK;}NS_IMETHODIMPnsEudoraProfileMigrator::GetSourceExists(PRBool* aResult){  *aResult = PR_FALSE;    nsCOMPtr<nsIImportSettings> importSettings;  mImportModule->GetImportInterface(NS_IMPORT_SETTINGS_STR, getter_AddRefs(importSettings));  if (importSettings)  {    nsXPIDLString description;    nsCOMPtr<nsIFileSpec> location;    importSettings->AutoLocate(getter_Copies(description), getter_AddRefs(location), aResult);  }  return NS_OK;}NS_IMETHODIMPnsEudoraProfileMigrator::GetSourceHasMultipleProfiles(PRBool* aResult){  *aResult = PR_FALSE;  return NS_OK;}NS_IMETHODIMPnsEudoraProfileMigrator::GetSourceProfiles(nsISupportsArray** aResult){  *aResult = nsnull;  return NS_OK;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区白人| 色综合久久99| 亚洲综合免费观看高清完整版 | 久久综合久久久久88| 成人黄色小视频在线观看| 亚洲一区二区三区四区不卡| 久久这里只有精品首页| 欧美无人高清视频在线观看| 粉嫩av亚洲一区二区图片| 日韩激情一二三区| **网站欧美大片在线观看| 精品区一区二区| 色婷婷综合久久久中文字幕| 国产激情视频一区二区三区欧美 | 欧美成人乱码一区二区三区| 91理论电影在线观看| 韩国av一区二区| 午夜精品爽啪视频| 《视频一区视频二区| 欧美白人最猛性xxxxx69交| 欧美综合在线视频| 91在线高清观看| 国产米奇在线777精品观看| 天天色天天爱天天射综合| 亚洲欧洲日韩综合一区二区| 2023国产精华国产精品| 欧美一卡2卡三卡4卡5免费| 在线观看亚洲a| 菠萝蜜视频在线观看一区| 久88久久88久久久| 日本最新不卡在线| 亚洲五月六月丁香激情| 亚洲人成网站色在线观看| 国产蜜臀av在线一区二区三区| 欧美一区二区黄| 欧美精品亚洲二区| 欧美日精品一区视频| 色呦呦一区二区三区| 成人在线综合网| 成人永久aaa| 欧美一区二区视频观看视频| 欧美日韩国产高清一区二区三区| 色爱区综合激月婷婷| 99久久精品国产观看| 99视频热这里只有精品免费| 成人爽a毛片一区二区免费| 国产精品伊人色| 国产成人av福利| 国产精品99久| 国产精品一二一区| 国产成人av一区二区三区在线| 国产精品一二三四五| 国产成人av一区| 99久久久精品免费观看国产蜜| 高清在线观看日韩| 成人黄色软件下载| 色婷婷久久久综合中文字幕 | 欧美精选一区二区| 欧美美女视频在线观看| 欧美日韩夫妻久久| 欧美一区二区三区日韩| 欧美一区二区三区影视| 欧美成人女星排行榜| 久久久久99精品国产片| 国产精品美女久久久久aⅴ | 91精品黄色片免费大全| 欧美一区二区三区免费在线看| 日韩精品影音先锋| 久久影视一区二区| 亚洲欧洲日产国码二区| 亚洲五码中文字幕| 捆绑调教美女网站视频一区| 国产精品123区| 一本色道综合亚洲| 欧美人妖巨大在线| 久久你懂得1024| ㊣最新国产の精品bt伙计久久| 亚洲一区二区三区国产| 美腿丝袜亚洲一区| www.日韩大片| 欧美日韩一区二区在线观看| 日韩视频一区在线观看| 中文字幕欧美区| 一区二区三区不卡在线观看 | 亚洲成人动漫在线免费观看| 六月丁香婷婷久久| 99久久精品国产毛片| 欧美一区二区三区在线电影| 国产精品视频九色porn| 亚洲v精品v日韩v欧美v专区| 国产一区二区伦理片| 色激情天天射综合网| 精品成人私密视频| 成人午夜激情片| 欧美喷潮久久久xxxxx| 久久日韩粉嫩一区二区三区| 一区二区视频在线| 国产精品自拍三区| 欧美日韩久久不卡| 欧美国产亚洲另类动漫| 日韩精品视频网站| 99re视频精品| 久久亚洲影视婷婷| 日韩av中文在线观看| 成人18视频日本| 日韩欧美一区二区在线视频| 亚洲欧美日韩系列| 国产91精品精华液一区二区三区 | 久久综合九色综合欧美98 | 亚洲欧洲韩国日本视频| 另类欧美日韩国产在线| 欧美性猛片xxxx免费看久爱| 国产区在线观看成人精品 | 国产成人精品影视| 欧美丰满一区二区免费视频| 亚洲视频香蕉人妖| 福利一区二区在线| 日韩欧美一级二级三级久久久| 一区二区三区国产| 99久久综合精品| 中文字幕精品一区二区三区精品| 五月婷婷综合激情| 欧美四级电影在线观看| 国产精品国产三级国产aⅴ原创 | 日韩高清一区在线| 欧美优质美女网站| 日韩一区日韩二区| 国产成人一区在线| 久久蜜桃一区二区| 麻豆91在线观看| 欧美一区二区三区精品| 亚洲高清免费观看| 欧洲精品一区二区| 亚洲天堂久久久久久久| va亚洲va日韩不卡在线观看| 国产精品热久久久久夜色精品三区| 激情综合网天天干| 精品欧美久久久| 国产一区在线不卡| 久久精品人人爽人人爽| 国内精品国产成人国产三级粉色| 日韩精品一区二区三区视频在线观看| 日本中文一区二区三区| 538在线一区二区精品国产| 亚洲第一福利视频在线| 欧美日韩国产中文| jlzzjlzz亚洲日本少妇| 亚洲色图在线视频| 91高清视频在线| 亚洲综合激情网| 欧美日韩一区国产| 日本伊人色综合网| 精品盗摄一区二区三区| 国产自产视频一区二区三区| 国产女同性恋一区二区| av成人免费在线观看| 亚洲最新视频在线观看| 欧美日韩激情在线| 日韩电影在线一区二区| 日韩欧美国产wwwww| 国产一区二区三区免费看| 国产午夜亚洲精品羞羞网站| 99麻豆久久久国产精品免费优播| 一区二区三区资源| 5858s免费视频成人| 久草中文综合在线| 国产精品美女久久久久久2018| 色婷婷综合久久久中文一区二区 | 高清在线成人网| 亚洲欧美区自拍先锋| 欧美日韩日本视频| 精品在线播放午夜| 国产精品婷婷午夜在线观看| 91激情在线视频| 久久精品国内一区二区三区| 久久精品夜色噜噜亚洲a∨| 91在线porny国产在线看| 日韩成人av影视| 国产欧美精品一区二区三区四区| 色婷婷精品久久二区二区蜜臂av| 美脚の诱脚舐め脚责91| 国产视频一区二区在线| 91色porny在线视频| 欧美日韩一级大片网址| 久久国产精品一区二区| 国产精品免费免费| 亚洲丝袜自拍清纯另类| 欧美日韩精品一区视频| 国产一区二区三区四区五区美女| 亚洲色图在线看| 欧美成人a∨高清免费观看| 一片黄亚洲嫩模| 精品美女一区二区| 91黄色免费看| 国产曰批免费观看久久久| 一卡二卡欧美日韩| 精品国产三级a在线观看| 欧美视频在线一区| 欧美一区永久视频免费观看| 韩国av一区二区三区四区|