00001 /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */00002 /* ***** BEGIN LICENSE BLOCK *****00003 * Version: MPL 1.1/GPL 2.0/LGPL 2.100004 *00005 * The contents of this file are subject to the Mozilla Public License Version00006 * 1.1 (the "License"); you may not use this file except in compliance with00007 * the License. You may obtain a copy of the License at00008 * http://www.mozilla.org/MPL/00009 *00010 * Software distributed under the License is distributed on an "AS IS" basis,00011 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License00012 * for the specific language governing rights and limitations under the00013 * License.00014 *00015 * The Original Code is mozilla.org code.00016 *00017 * The Initial Developer of the Original Code is00018 * Netscape Communications Corporation.00019 * Portions created by the Initial Developer are Copyright (C) 199800020 * the Initial Developer. All Rights Reserved.00021 *00022 * Contributor(s):00023 *00024 * Alternatively, the contents of this file may be used under the terms of00025 * either of the GNU General Public License Version 2 or later (the "GPL"),00026 * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),00027 * in which case the provisions of the GPL or the LGPL are applicable instead00028 * of those above. If you wish to allow use of your version of this file only00029 * under the terms of either the GPL or the LGPL, and not to allow others to00030 * use your version of this file under the terms of the MPL, indicate your00031 * decision by deleting the provisions above and replace them with the notice00032 * and other provisions required by the GPL or the LGPL. If you do not delete00033 * the provisions above, a recipient may use your version of this file under00034 * the terms of any one of the MPL, the GPL or the LGPL.00035 *00036 * ***** END LICENSE BLOCK ***** */00037 #ifndef nsTextToSubURI_h__00038 #define nsTextToSubURI_h__00039 00040 #include "nsITextToSubURI.h"00041
00042 //==============================================================00043class nsTextToSubURI: publicnsITextToSubURI {
00044 NS_DECL_ISUPPORTS00045 NS_DECL_NSITEXTTOSUBURI
00046
00047 public:
00048 nsTextToSubURI();
00049 virtual~nsTextToSubURI();
00050
00051 private:
00052 // IRI is "Internationalized Resource Identifiers"00053 // http://www.ietf.org/internet-drafts/draft-duerst-iri-01.txt00054 // 00055 // if the IRI option is true then we assume that the URI is encoded as UTF-800056 // note: there is no definite way to distinguish between IRI and a URI encoded 00057 // with a non-UTF-8 charset00058 // Use this option carefully -- it may cause dataloss00059 // (recommended to set to true for UI purpose only)00060 //00061 nsresultconvertURItoUnicode(constnsAFlatCString &aCharset,
00062 constnsAFlatCString &aURI,
00063 PRBool aIRI,
00064 nsAString &_retval);
00065 };
00066
00067 #endif // nsTextToSubURI_h__00068