From 2a0db47b6be0915763a37cbe4e63a2398324ba01 Mon Sep 17 00:00:00 2001 From: "tbogard%aol.net" Date: Fri, 22 Oct 1999 02:30:51 +0000 Subject: [PATCH] Framed out nsWebBrowserSetup. Added nsCWebBrowserSetup specification. Setup building of the library. --- embedding/browser/setup/makefile.win | 10 +++ .../browser/setup/nsCWebBrowserSetup.idl | 31 +++++++ embedding/browser/setup/nsWebBrowserSetup.cpp | 86 +++++++++++++++++++ embedding/browser/setup/nsWebBrowserSetup.h | 42 +++++++++ 4 files changed, 169 insertions(+) create mode 100644 embedding/browser/setup/nsCWebBrowserSetup.idl create mode 100644 embedding/browser/setup/nsWebBrowserSetup.cpp create mode 100644 embedding/browser/setup/nsWebBrowserSetup.h diff --git a/embedding/browser/setup/makefile.win b/embedding/browser/setup/makefile.win index 325ef09b964..aea594a8939 100644 --- a/embedding/browser/setup/makefile.win +++ b/embedding/browser/setup/makefile.win @@ -23,8 +23,18 @@ DEPTH=..\..\.. MODULE=webBrowser_setup XPIDLSRCS= \ + .\nsCWebBrowserSetup.idl \ .\nsIWebBrowserSetup.idl \ $(NULL) +LIBRARY_NAME=nsWebBrowserSetup_s + +CPP_OBJS= \ + .\$(OBJDIR)\nsWebBrowserSetup.obj \ + $(NULL) + include <$(DEPTH)\config\rules.mak> include <$(DEPTH)\config\config.mak> + +libs:: $(LIBRARY) + $(MAKE_INSTALL) $(LIBRARY) $(DIST)\lib diff --git a/embedding/browser/setup/nsCWebBrowserSetup.idl b/embedding/browser/setup/nsCWebBrowserSetup.idl new file mode 100644 index 00000000000..53b0198eca1 --- /dev/null +++ b/embedding/browser/setup/nsCWebBrowserSetup.idl @@ -0,0 +1,31 @@ +/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * 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 Mozilla browser. + * + * The Initial Developer of the Original Code is Netscape + * Communications, Inc. Portions created by Netscape are + * Copyright (C) 1999, Mozilla. All Rights Reserved. + * + * Contributor(s): + * Travis Bogard + */ + +#include "nsIWebBrowserSetup.idl" + +%{ C++ +// {F1EAC760-87E9-11d3-AF80-00A024FFC08C} - +#define NS_WEBBROWSER_SETUP_CID \ +{ 0xf1eac760, 0x87e9, 0x11d3, { 0xaf, 0x80, 0x00, 0xa0, 0x24, 0xff, 0xc0, 0x8c } } +#define NS_WEBBROWSER_SETUP_PROGID \ +"component://netscape/embedding/browser/nsWebBrowserSetup" +%} \ No newline at end of file diff --git a/embedding/browser/setup/nsWebBrowserSetup.cpp b/embedding/browser/setup/nsWebBrowserSetup.cpp new file mode 100644 index 00000000000..ba920b73ea3 --- /dev/null +++ b/embedding/browser/setup/nsWebBrowserSetup.cpp @@ -0,0 +1,86 @@ +/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * 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 Mozilla browser. + * + * The Initial Developer of the Original Code is Netscape + * Communications, Inc. Portions created by Netscape are + * Copyright (C) 1999, Mozilla. All Rights Reserved. + * + * Contributor(s): + * Travis Bogard + */ + +//#include "nsIComponentManager.h" + +#include "nsWebBrowserSetup.h" + +//***************************************************************************** +//*** nsWebBrowserSetup: Object Management +//***************************************************************************** + +nsWebBrowserSetup::nsWebBrowserSetup() +{ + NS_INIT_REFCNT(); +} + +nsWebBrowserSetup::~nsWebBrowserSetup() +{ +} + +NS_IMETHODIMP nsWebBrowserSetup::Create(nsISupports* aOuter, const nsIID& aIID, + void** ppv) +{ + NS_ENSURE_ARG_POINTER(ppv); + NS_ENSURE_NO_AGGREGATION(aOuter); + + nsWebBrowserSetup* setup = new nsWebBrowserSetup(); + NS_ENSURE(setup, NS_ERROR_OUT_OF_MEMORY); + + NS_ADDREF(setup); + nsresult rv = setup->QueryInterface(aIID, ppv); + NS_RELEASE(setup); + return rv; +} + +//***************************************************************************** +// nsWebBrowser::nsISupports +//***************************************************************************** + +NS_IMPL_ISUPPORTS1(nsWebBrowserSetup, nsIWebBrowserSetup) + +//***************************************************************************** +// nsWebBrowserSetup::nsIWebBrowserSetup +//***************************************************************************** + +NS_IMETHODIMP nsWebBrowserSetup::ChangeCurrentUser(const PRUnichar* newUser) +{ + NS_ENSURE_ARG(newUser); + + //XXX + //Load up the Profile Manager and Change the current user. + + //XXX Implement + return NS_ERROR_FAILURE; +} + +NS_IMETHODIMP nsWebBrowserSetup::GetUserList(nsIEnumerator** enumerator) +{ + NS_ENSURE_ARG_POINTER(enumerator); + + //XXX + // Load up the profile manager and get a list of users. Create an + // enumeration object to stuff these users into. Return this object. + + //XXX Implement + return NS_ERROR_FAILURE; +} \ No newline at end of file diff --git a/embedding/browser/setup/nsWebBrowserSetup.h b/embedding/browser/setup/nsWebBrowserSetup.h new file mode 100644 index 00000000000..2db1a73d1b2 --- /dev/null +++ b/embedding/browser/setup/nsWebBrowserSetup.h @@ -0,0 +1,42 @@ +/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * 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 Mozilla browser. + * + * The Initial Developer of the Original Code is Netscape + * Communications, Inc. Portions created by Netscape are + * Copyright (C) 1999, Mozilla. All Rights Reserved. + * + * Contributor(s): + * Travis Bogard + */ + +#ifndef nsWebBrowserSetup_h__ +#define nsWebBrowserSetup_h__ + +#include "nsCWebBrowserSetup.h" + +class nsWebBrowserSetup : public nsIWebBrowserSetup +{ +public: + NS_DECL_ISUPPORTS + + NS_DECL_NSIWEBBROWSERSETUP + + static NS_METHOD Create(nsISupports* aOuter, const nsIID& aIID, void** ppv); + +protected: + nsWebBrowserSetup(); + virtual ~nsWebBrowserSetup(); +}; + +#endif /* nsWebBrowserSetup_h__ */