From a42c1327a733400f480da7ebecc3e826bea3717c Mon Sep 17 00:00:00 2001 From: "sford3%swbell.net" Date: Mon, 6 Mar 2000 15:09:49 +0000 Subject: [PATCH] initial code for about:credits, not part of build yet --- netwerk/protocol/about/src/nsAboutCredits.cpp | 69 +++++++++++++++++++ netwerk/protocol/about/src/nsAboutCredits.h | 53 ++++++++++++++ 2 files changed, 122 insertions(+) create mode 100644 netwerk/protocol/about/src/nsAboutCredits.cpp create mode 100644 netwerk/protocol/about/src/nsAboutCredits.h diff --git a/netwerk/protocol/about/src/nsAboutCredits.cpp b/netwerk/protocol/about/src/nsAboutCredits.cpp new file mode 100644 index 000000000000..ef285051c5a4 --- /dev/null +++ b/netwerk/protocol/about/src/nsAboutCredits.cpp @@ -0,0 +1,69 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * + * The contents of this file are subject to the Netscape 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/NPL/ + * + * 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 mozilla.org code. + * + * The Initial Developer of the Original Code is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All + * Rights Reserved. + * + * Contributor(s): + */ + +#include "nsAboutCredits.h" +#include "nsIIOService.h" +#include "nsIServiceManager.h" +#include "nsCOMPtr.h" +#include "nsIURI.h" + +static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); + +NS_IMPL_ISUPPORTS(nsAboutCredits, NS_GET_IID(nsIAboutModule)); + +static const char kCreditsPage[] = "http://www.mozilla.org/credits"; + +NS_IMETHODIMP +nsAboutCredits::NewChannel(const char *verb, + nsIURI *aURI, + nsILoadGroup* aLoadGroup, + nsIInterfaceRequestor* notificationCallbacks, + nsLoadFlags loadAttributes, + nsIURI* originalURI, + PRUint32 bufferSegmentSize, + PRUint32 bufferMaxSize, + nsIChannel **result) +{ + nsresult rv; + NS_WITH_SERVICE(nsIIOService, ioService, kIOServiceCID, &rv); + if (NS_FAILED(rv)) + return rv; + rv = ioService->NewChannel(verb, kCreditsPage, NULL, aLoadGroup, + notificationCallbacks, loadAttributes, + originalURI, bufferSegmentSize, bufferMaxSize, + result); + return rv; +} + +NS_METHOD +nsAboutCredits::Create(nsISupports *aOuter, REFNSIID aIID, void **aResult) +{ + nsAboutCredits* about = new nsAboutCredits(); + if (about == nsnull) + return NS_ERROR_OUT_OF_MEMORY; + NS_ADDREF(about); + nsresult rv = about->QueryInterface(aIID, aResult); + NS_RELEASE(about); + return rv; +} + +//////////////////////////////////////////////////////////////////////////////// diff --git a/netwerk/protocol/about/src/nsAboutCredits.h b/netwerk/protocol/about/src/nsAboutCredits.h new file mode 100644 index 000000000000..cc8e78d5f8f5 --- /dev/null +++ b/netwerk/protocol/about/src/nsAboutCredits.h @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- + * + * The contents of this file are subject to the Netscape 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/NPL/ + * + * 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 mozilla.org code. + * + * The Initial Developer of the Original Code is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All + * Rights Reserved. + * + * Contributor(s): + * Sammy Ford + */ + +#ifndef nsAboutCredits_h__ +#define nsAboutCredits_h__ + +#include "nsIAboutModule.h" + +class nsAboutCredits : public nsIAboutModule +{ +public: + NS_DECL_ISUPPORTS + + NS_DECL_NSIABOUTMODULE + + nsAboutCredits() { NS_INIT_REFCNT(); } + virtual ~nsAboutCredits() {} + + static NS_METHOD + Create(nsISupports *aOuter, REFNSIID aIID, void **aResult); + +protected: +}; + +#define NS_ABOUT_CREDITS_MODULE_CID \ +{ /* 4b00d478-1dd2-11b2-9c10-ac92614ad671*/ \ + 0x4b00d478, \ + 0x1dd2, \ + 0x11b2, \ + {0x9c, 0x10, 0xac, 0x92, 0x61, 0x4a, 0xd6, 0x71} \ +} + +#endif // nsAboutCredits_h__