00001 #include "nsISupports.idl"
00002
00011 interface sbIBundleObserver;
00012 interface sbIDownloadObserver;
00013
00022 [scriptable, uuid(34C5873F-E5C1-4448-9B02-5AF47F36B36F)]
00023 interface sbIBundle : nsISupports
00024 {
00031 void retrieveBundleFile();
00032
00040 void addBundleObserver(in sbIBundleObserver observer);
00041
00048 void removeBundleObserver(in sbIBundleObserver observer);
00049
00055 long getStatus();
00056
00063 nsISupports getBundleDocument();
00064
00071 AString getTextData();
00072
00078 AString getBundleVersion();
00079
00089 boolean getExtensionInstallState(in long idx);
00090
00097 void setExtensionInstallState(in long idx, in boolean installstate);
00098
00106 void installSelectedExtensions(in nsISupports window);
00107
00117 AString downloadFile(in AString url, in sbIDownloadObserver observer);
00118
00127 void deleteLastDownloadedFile();
00128
00136 long installXPI(in AString localFilename);
00137
00145 void setNeedRestart(in boolean needed);
00146
00154 long getNeedRestart();
00155
00156
00157
00164 long getNumExtensions();
00165
00173 AString getExtensionName(in long index);
00174
00182 AString getExtensionDesc(in long index);
00183
00191 AString getExtensionURL(in long index);
00192
00200 AString getExtesionId(in long index);
00201
00209 AString getTempFilename();
00210 };
00211
00218 [scriptable, uuid(62DF6C33-2523-471e-A9AF-A8BA876CF36F)]
00219 interface sbIBundleObserver : nsISupports
00220 {
00227 void onLoad(in sbIBundle bundle);
00234 void onError(in sbIBundle bundle);
00235 };
00236
00243 [scriptable, uuid(D143A14A-266B-48aa-A15E-94BD4F027BF0)]
00244 interface sbIDownloadObserver : nsISupports
00245 {
00253 void onProgress(in sbIBundle bundle, in long percent);
00254
00261 void onDownloadComplete(in sbIBundle bundle);
00262
00269 void onError(in sbIBundle bundle);
00270 };
00271
00272
00273