source: trunk/third/mozilla/xpinstall/public/nsISoftwareUpdate.h @ 20551

Revision 20551, 3.1 KB checked in by rbasch, 20 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r20550, which included commits to RCS files with non-trunk default branches.
Line 
1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2/*
3 * The contents of this file are subject to the Netscape Public
4 * License Version 1.1 (the "License"); you may not use this file
5 * except in compliance with the License. You may obtain a copy of
6 * the License at http://www.mozilla.org/NPL/
7 *
8 * Software distributed under the License is distributed on an "AS
9 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
10 * implied. See the License for the specific language governing
11 * rights and limitations under the License.
12 *
13 * The Original Code is Mozilla Communicator client code,
14 * released March 31, 1998.
15 *
16 * The Initial Developer of the Original Code is Netscape Communications
17 * Corporation.  Portions created by Netscape are
18 * Copyright (C) 1998 Netscape Communications Corporation. All
19 * Rights Reserved.
20 *
21 * Contributor(s):
22 *     Daniel Veditz <dveditz@netscape.com>
23 *     Douglas Turner <dougt@netscape.com>
24 */
25
26#ifndef nsISoftwareUpdate_h__
27#define nsISoftwareUpdate_h__
28
29#include "nsISupports.h"
30#include "nsIFactory.h"
31#include "nsString.h"
32
33#include "nsIXPINotifier.h"
34#include "nsCOMPtr.h"
35#include "nsIModule.h"
36#include "nsIGenericFactory.h"
37#include "nsILocalFile.h"
38#include "nsDirectoryServiceUtils.h"
39#include "nsDirectoryServiceDefs.h"
40
41#define NS_IXPINSTALLCOMPONENT_CONTRACTID  "@mozilla.org/xpinstall;1"
42#define NS_IXPINSTALLCOMPONENT_CLASSNAME "Mozilla XPInstall Component"
43
44#define XPINSTALL_ENABLE_PREF            "xpinstall.enabled"
45#define XPINSTALL_WHITELIST_ADD          "xpinstall.whitelist.add"
46#define XPINSTALL_WHITELIST_REQUIRED     "xpinstall.whitelist.required"
47#define XPINSTALL_BLACKLIST_ADD          "xpinstall.blacklist.add"
48
49
50#define XPI_NO_NEW_THREAD   0x1000
51
52#define NS_ISOFTWAREUPDATE_IID                   \
53{ 0x18c2f992,                                                                    \
54  0xb09f,                                                                                \
55  0x11d2,                                                                \
56 {0xbc, 0xde, 0x00, 0x80, 0x5f, 0x0e, 0x13, 0x53}\
57}
58
59class nsIPrincipal;
60
61class nsISoftwareUpdate : public nsISupports
62{
63    public:
64            NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISOFTWAREUPDATE_IID)
65
66            NS_IMETHOD InstallJar(nsIFile* localFile,
67                                  const PRUnichar* URL,
68                                  const PRUnichar* arguments,
69                                  nsIPrincipal* aPrincipalDisplayed,
70                                  PRUint32 flags,
71                                  nsIXPIListener* aListener = 0) = 0;
72
73            NS_IMETHOD InstallChrome(PRUint32 aType,
74                                     nsIFile* aFile,
75                                     const PRUnichar* URL,
76                                     const PRUnichar* aName,
77                                     PRBool aSelect,
78                                     nsIXPIListener* aListener = 0) = 0;
79
80            NS_IMETHOD RegisterListener(nsIXPIListener *aListener) = 0;
81
82            /* FIX: these should be in a private interface */
83            NS_IMETHOD InstallJarCallBack()                   = 0;
84            NS_IMETHOD GetMasterListener(nsIXPIListener **aListener) = 0;
85            NS_IMETHOD SetActiveListener(nsIXPIListener *aListener) = 0;
86};
87
88
89#endif // nsISoftwareUpdate_h__
90
Note: See TracBrowser for help on using the repository browser.