diff options
author | Marco Pesenti Gritti <marco@src.gnome.org> | 2004-06-04 02:51:32 +0800 |
---|---|---|
committer | Marco Pesenti Gritti <marco@src.gnome.org> | 2004-06-04 02:51:32 +0800 |
commit | b774b547788b74884b9eb690c548a6016e714023 (patch) | |
tree | 72b9df09c0fc257169b3e9b9cbdc349e56a63101 /embed/mozilla/EphyUtils.cpp | |
parent | b699b40d663955560655271f7645ae277e6076c8 (diff) | |
download | gsoc2013-epiphany-b774b547788b74884b9eb690c548a6016e714023.tar gsoc2013-epiphany-b774b547788b74884b9eb690c548a6016e714023.tar.gz gsoc2013-epiphany-b774b547788b74884b9eb690c548a6016e714023.tar.bz2 gsoc2013-epiphany-b774b547788b74884b9eb690c548a6016e714023.tar.lz gsoc2013-epiphany-b774b547788b74884b9eb690c548a6016e714023.tar.xz gsoc2013-epiphany-b774b547788b74884b9eb690c548a6016e714023.tar.zst gsoc2013-epiphany-b774b547788b74884b9eb690c548a6016e714023.zip |
merge mozilla-embed-strings branch
Diffstat (limited to 'embed/mozilla/EphyUtils.cpp')
-rw-r--r-- | embed/mozilla/EphyUtils.cpp | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/embed/mozilla/EphyUtils.cpp b/embed/mozilla/EphyUtils.cpp new file mode 100644 index 000000000..aae874091 --- /dev/null +++ b/embed/mozilla/EphyUtils.cpp @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2004 Marco Pesenti Gritti + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser 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 "EphyUtils.h" + +#include <nsIServiceManager.h> +#include <nsEmbedString.h> + +nsresult +EphyUtils::GetIOService (nsIIOService **ioService) +{ + nsresult rv; + + nsCOMPtr<nsIServiceManager> mgr; + NS_GetServiceManager (getter_AddRefs (mgr)); + if (!mgr) return NS_ERROR_FAILURE; + + rv = mgr->GetServiceByContractID ("@mozilla.org/network/io-service;1", + NS_GET_IID (nsIIOService), + (void **)ioService); + return rv; +} + +nsresult EphyUtils::NewURI (nsIURI **result, const nsAString &spec) +{ + nsEmbedCString cSpec; + NS_UTF16ToCString (spec, NS_CSTRING_ENCODING_UTF8, cSpec); + + return NewURI (result, cSpec); +} + +nsresult EphyUtils::NewURI (nsIURI **result, const nsACString &spec) +{ + nsresult rv; + + nsCOMPtr<nsIIOService> ioService; + rv = EphyUtils::GetIOService (getter_AddRefs (ioService)); + NS_ENSURE_SUCCESS (rv, rv); + + rv = ioService->NewURI (spec, nsnull, nsnull, result); + + return rv; +} |