/usr/include/thunderbird-11.0.1/nsIProfileChangeStatus.h is in thunderbird-dev 11.0.1+build1-0ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 | /*
* DO NOT EDIT. THIS FILE IS GENERATED FROM /build/buildd/thunderbird-11.0.1+build1/build-tree/mozilla/mozilla/profile/public/nsIProfileChangeStatus.idl
*/
#ifndef __gen_nsIProfileChangeStatus_h__
#define __gen_nsIProfileChangeStatus_h__
#ifndef __gen_nsISupports_h__
#include "nsISupports.h"
#endif
/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif
/**
* nsIObserver topics for profile changing. Profile changing happens in phases
* in the order given below. An observer may register separately for each phase
* of the process depending on its needs. The subject passed to the observer's
* Observe() method can be QI'd to an nsIProfileChangeStatus.
*
* "profile-approve-change"
* Called before a profile change is attempted. Typically,
* the application level observer will ask the user if
* he/she wants to stop all network activity, close all open
* windows, etc. If the user says NO, the observer should
* call the subject's vetoChange(). If any observer does
* this, the profile will not be changed.
*
* "profile-change-teardown"
* All async activity must be stopped in this phase. Typically,
* the application level observer will close all open windows.
* This is the last phase in which the subject's vetoChange()
* method may still be called.
* The next notification will be either
* profile-change-teardown-veto or profile-before-change.
*
* "profile-change-teardown-veto"
* This notification will only be sent, if the profile change
* was vetoed during the profile-change-teardown phase.
* This allows components to bring back required resources,
* that were tore down on profile-change-teardown.
*
* "profile-before-change"
* Called before the profile has changed. Use this notification
* to prepare for the profile going away. If a component is
* holding any state which needs to be flushed to a profile-relative
* location, it should be done here.
*
* "profile-do-change"
* Called after the profile has changed. Do the work to
* respond to having a new profile. Any change which
* affects others must be done in this phase.
*
* "profile-after-change"
* Called after the profile has changed. Use this notification
* to make changes that are dependent on what some other listener
* did during its profile-do-change. For example, to respond to
* new preferences.
*
* "profile-initial-state"
* Called after all phases of a change have completed. Typically
* in this phase, an application level observer will open a new window.
*
* Contexts for profile changes. These are passed as the someData param to the
* observer's Observe() method.
* "startup"
* Going from no profile to a profile.
*
* The following topics happen in this context:
* profile-do-change
* profile-after-change
*
* "shutdown-persist"
* The user is logging out and whatever data the observer stores
* for the current profile should be released from memory and
* saved to disk.
*
* "shutdown-cleanse"
* The user is logging out and whatever data the observer stores
* for the current profile should be released from memory and
* deleted from disk.
*
* The following topics happen in both shutdown contexts:
* profile-approve-change
* profile-change-teardown
* profile-before-change
*
* "switch"
* Going from one profile to another.
*
* All of the above topics happen in a profile switch.
*
*/
/* starting interface: nsIProfileChangeStatus */
#define NS_IPROFILECHANGESTATUS_IID_STR "2f977d43-5485-11d4-87e2-0010a4e75ef2"
#define NS_IPROFILECHANGESTATUS_IID \
{0x2f977d43, 0x5485, 0x11d4, \
{ 0x87, 0xe2, 0x00, 0x10, 0xa4, 0xe7, 0x5e, 0xf2 }}
class NS_NO_VTABLE NS_SCRIPTABLE nsIProfileChangeStatus : public nsISupports {
public:
NS_DECLARE_STATIC_IID_ACCESSOR(NS_IPROFILECHANGESTATUS_IID)
/* void vetoChange (); */
NS_SCRIPTABLE NS_IMETHOD VetoChange(void) = 0;
/* void changeFailed (); */
NS_SCRIPTABLE NS_IMETHOD ChangeFailed(void) = 0;
};
NS_DEFINE_STATIC_IID_ACCESSOR(nsIProfileChangeStatus, NS_IPROFILECHANGESTATUS_IID)
/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIPROFILECHANGESTATUS \
NS_SCRIPTABLE NS_IMETHOD VetoChange(void); \
NS_SCRIPTABLE NS_IMETHOD ChangeFailed(void);
/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIPROFILECHANGESTATUS(_to) \
NS_SCRIPTABLE NS_IMETHOD VetoChange(void) { return _to VetoChange(); } \
NS_SCRIPTABLE NS_IMETHOD ChangeFailed(void) { return _to ChangeFailed(); }
/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIPROFILECHANGESTATUS(_to) \
NS_SCRIPTABLE NS_IMETHOD VetoChange(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->VetoChange(); } \
NS_SCRIPTABLE NS_IMETHOD ChangeFailed(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->ChangeFailed(); }
#if 0
/* Use the code below as a template for the implementation class for this interface. */
/* Header file */
class nsProfileChangeStatus : public nsIProfileChangeStatus
{
public:
NS_DECL_ISUPPORTS
NS_DECL_NSIPROFILECHANGESTATUS
nsProfileChangeStatus();
private:
~nsProfileChangeStatus();
protected:
/* additional members */
};
/* Implementation file */
NS_IMPL_ISUPPORTS1(nsProfileChangeStatus, nsIProfileChangeStatus)
nsProfileChangeStatus::nsProfileChangeStatus()
{
/* member initializers and constructor code */
}
nsProfileChangeStatus::~nsProfileChangeStatus()
{
/* destructor code */
}
/* void vetoChange (); */
NS_IMETHODIMP nsProfileChangeStatus::VetoChange()
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* void changeFailed (); */
NS_IMETHODIMP nsProfileChangeStatus::ChangeFailed()
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* End of implementation class template. */
#endif
#endif /* __gen_nsIProfileChangeStatus_h__ */
|