File:  [mozdev] / chimera / nsCocoaBrowserService.h
Revision 1.7: download - view: text, annotated - select for diffs - revision graph
Fri Apr 12 01:16:44 2002 UTC (17 years, 5 months ago) by hyatt
Branches: MAIN
CVS tags: HEAD
Complete implementation of popup blocking.  Whoo-ah!

    1: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
    2: /* ***** BEGIN LICENSE BLOCK *****
    3:  * Version: NPL 1.1/GPL 2.0/LGPL 2.1
    4:  *
    5:  * The contents of this file are subject to the Netscape Public License
    6:  * Version 1.1 (the "License"); you may not use this file except in
    7:  * compliance with the License. You may obtain a copy of the License at
    8:  * http://www.mozilla.org/NPL/
    9:  *
   10:  * Software distributed under the License is distributed on an "AS IS" basis,
   11:  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
   12:  * for the specific language governing rights and limitations under the
   13:  * License.
   14:  *
   15:  * The Original Code is mozilla.org code.
   16:  *
   17:  * The Initial Developer of the Original Code is 
   18:  * Netscape Communications Corporation.
   19:  * Portions created by the Initial Developer are Copyright (C) 2001
   20:  * the Initial Developer. All Rights Reserved.
   21:  *
   22:  * Contributor(s):
   23:  *
   24:  * Alternatively, the contents of this file may be used under the terms of
   25:  * either the GNU General Public License Version 2 or later (the "GPL"), or 
   26:  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
   27:  * in which case the provisions of the GPL or the LGPL are applicable instead
   28:  * of those above. If you wish to allow use of your version of this file only
   29:  * under the terms of either the GPL or the LGPL, and not to allow others to
   30:  * use your version of this file under the terms of the NPL, indicate your
   31:  * decision by deleting the provisions above and replace them with the notice
   32:  * and other provisions required by the GPL or the LGPL. If you do not delete
   33:  * the provisions above, a recipient may use your version of this file under
   34:  * the terms of any one of the NPL, the GPL or the LGPL.
   35:  *
   36:  * ***** END LICENSE BLOCK ***** */
   37: 
   38: #ifndef __nsCocoaBrowserService_h__
   39: #define __nsCocoaBrowserService_h__
   40: 
   41: #import "nsAlertController.h"
   42: #include "nsEmbedAPI.h"
   43: #include "nsIWindowCreator.h"
   44: #include "nsIPromptService.h"
   45: 
   46: class nsCocoaBrowserService :  public nsIWindowCreator,
   47:                                public nsIPromptService,
   48:                                public nsIFactory
   49: {
   50: public:
   51:   nsCocoaBrowserService();
   52:   virtual ~nsCocoaBrowserService();
   53: 
   54:   NS_DECL_ISUPPORTS
   55:   NS_DECL_NSIWINDOWCREATOR
   56:   NS_DECL_NSIPROMPTSERVICE
   57:   NS_DECL_NSIFACTORY
   58: 
   59:   static nsresult InitEmbedding();
   60:   static void TermEmbedding();
   61:   static void BrowserClosed();
   62:   
   63:   static void SetAlertController(nsAlertController* aController);
   64:   static nsAlertController* GetAlertController();
   65: 
   66: public:
   67:   static PRUint32 sNumBrowsers;
   68: 
   69: private:
   70:   static nsCocoaBrowserService* sSingleton;
   71:   static nsAlertController* sController;
   72:   static PRBool sCanTerminate;
   73: };
   74: 
   75: 
   76: #endif

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>