/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM s:/mozilla/xulrunner-17.0.9esr/mozilla-esr17/dom/interfaces/apps/nsIDOMApplicationRegistry.idl
 */

#ifndef __gen_nsIDOMApplicationRegistry_h__
#define __gen_nsIDOMApplicationRegistry_h__


#ifndef __gen_domstubs_h__
#include "domstubs.h"
#endif

#ifndef __gen_nsIDOMEventTarget_h__
#include "nsIDOMEventTarget.h"
#endif

#include "jspubtd.h"

/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif
class nsIDOMDOMRequest; /* forward declaration */

class nsIArray; /* forward declaration */


/* starting interface:    mozIDOMApplication */
#define MOZIDOMAPPLICATION_IID_STR "9583b825-46b1-4e8f-bb48-9fed660a95e6"

#define MOZIDOMAPPLICATION_IID \
  {0x9583b825, 0x46b1, 0x4e8f, \
    { 0xbb, 0x48, 0x9f, 0xed, 0x66, 0x0a, 0x95, 0xe6 }}

class NS_NO_VTABLE mozIDOMApplication : public nsISupports {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(MOZIDOMAPPLICATION_IID)

  /* readonly attribute jsval manifest; */
  NS_IMETHOD GetManifest(JS::Value *aManifest) = 0;

  /* readonly attribute DOMString manifestURL; */
  NS_IMETHOD GetManifestURL(nsAString & aManifestURL) = 0;

  /* readonly attribute jsval receipts; */
  NS_IMETHOD GetReceipts(JS::Value *aReceipts) = 0;

  /* readonly attribute DOMString origin; */
  NS_IMETHOD GetOrigin(nsAString & aOrigin) = 0;

  /* readonly attribute DOMString installOrigin; */
  NS_IMETHOD GetInstallOrigin(nsAString & aInstallOrigin) = 0;

  /* readonly attribute unsigned long long installTime; */
  NS_IMETHOD GetInstallTime(uint64_t *aInstallTime) = 0;

  /* readonly attribute double progress; */
  NS_IMETHOD GetProgress(double *aProgress) = 0;

  /* readonly attribute DOMString status; */
  NS_IMETHOD GetStatus(nsAString & aStatus) = 0;

  /* attribute nsIDOMEventListener onprogress; */
  NS_IMETHOD GetOnprogress(nsIDOMEventListener * *aOnprogress) = 0;
  NS_IMETHOD SetOnprogress(nsIDOMEventListener *aOnprogress) = 0;

  /* nsIDOMDOMRequest launch ([optional] in DOMString startPoint); */
  NS_IMETHOD Launch(const nsAString & startPoint, nsIDOMDOMRequest * *_retval) = 0;

  /* nsIDOMDOMRequest uninstall (); */
  NS_IMETHOD Uninstall(nsIDOMDOMRequest * *_retval) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(mozIDOMApplication, MOZIDOMAPPLICATION_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_MOZIDOMAPPLICATION \
  NS_IMETHOD GetManifest(JS::Value *aManifest); \
  NS_IMETHOD GetManifestURL(nsAString & aManifestURL); \
  NS_IMETHOD GetReceipts(JS::Value *aReceipts); \
  NS_IMETHOD GetOrigin(nsAString & aOrigin); \
  NS_IMETHOD GetInstallOrigin(nsAString & aInstallOrigin); \
  NS_IMETHOD GetInstallTime(uint64_t *aInstallTime); \
  NS_IMETHOD GetProgress(double *aProgress); \
  NS_IMETHOD GetStatus(nsAString & aStatus); \
  NS_IMETHOD GetOnprogress(nsIDOMEventListener * *aOnprogress); \
  NS_IMETHOD SetOnprogress(nsIDOMEventListener *aOnprogress); \
  NS_IMETHOD Launch(const nsAString & startPoint, nsIDOMDOMRequest * *_retval); \
  NS_IMETHOD Uninstall(nsIDOMDOMRequest * *_retval); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_MOZIDOMAPPLICATION(_to) \
  NS_IMETHOD GetManifest(JS::Value *aManifest) { return _to GetManifest(aManifest); } \
  NS_IMETHOD GetManifestURL(nsAString & aManifestURL) { return _to GetManifestURL(aManifestURL); } \
  NS_IMETHOD GetReceipts(JS::Value *aReceipts) { return _to GetReceipts(aReceipts); } \
  NS_IMETHOD GetOrigin(nsAString & aOrigin) { return _to GetOrigin(aOrigin); } \
  NS_IMETHOD GetInstallOrigin(nsAString & aInstallOrigin) { return _to GetInstallOrigin(aInstallOrigin); } \
  NS_IMETHOD GetInstallTime(uint64_t *aInstallTime) { return _to GetInstallTime(aInstallTime); } \
  NS_IMETHOD GetProgress(double *aProgress) { return _to GetProgress(aProgress); } \
  NS_IMETHOD GetStatus(nsAString & aStatus) { return _to GetStatus(aStatus); } \
  NS_IMETHOD GetOnprogress(nsIDOMEventListener * *aOnprogress) { return _to GetOnprogress(aOnprogress); } \
  NS_IMETHOD SetOnprogress(nsIDOMEventListener *aOnprogress) { return _to SetOnprogress(aOnprogress); } \
  NS_IMETHOD Launch(const nsAString & startPoint, nsIDOMDOMRequest * *_retval) { return _to Launch(startPoint, _retval); } \
  NS_IMETHOD Uninstall(nsIDOMDOMRequest * *_retval) { return _to Uninstall(_retval); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_MOZIDOMAPPLICATION(_to) \
  NS_IMETHOD GetManifest(JS::Value *aManifest) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetManifest(aManifest); } \
  NS_IMETHOD GetManifestURL(nsAString & aManifestURL) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetManifestURL(aManifestURL); } \
  NS_IMETHOD GetReceipts(JS::Value *aReceipts) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetReceipts(aReceipts); } \
  NS_IMETHOD GetOrigin(nsAString & aOrigin) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOrigin(aOrigin); } \
  NS_IMETHOD GetInstallOrigin(nsAString & aInstallOrigin) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetInstallOrigin(aInstallOrigin); } \
  NS_IMETHOD GetInstallTime(uint64_t *aInstallTime) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetInstallTime(aInstallTime); } \
  NS_IMETHOD GetProgress(double *aProgress) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetProgress(aProgress); } \
  NS_IMETHOD GetStatus(nsAString & aStatus) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetStatus(aStatus); } \
  NS_IMETHOD GetOnprogress(nsIDOMEventListener * *aOnprogress) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOnprogress(aOnprogress); } \
  NS_IMETHOD SetOnprogress(nsIDOMEventListener *aOnprogress) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOnprogress(aOnprogress); } \
  NS_IMETHOD Launch(const nsAString & startPoint, nsIDOMDOMRequest * *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->Launch(startPoint, _retval); } \
  NS_IMETHOD Uninstall(nsIDOMDOMRequest * *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->Uninstall(_retval); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class _MYCLASS_ : public mozIDOMApplication
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_MOZIDOMAPPLICATION

  _MYCLASS_();

private:
  ~_MYCLASS_();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(_MYCLASS_, mozIDOMApplication)

_MYCLASS_::_MYCLASS_()
{
  /* member initializers and constructor code */
}

_MYCLASS_::~_MYCLASS_()
{
  /* destructor code */
}

/* readonly attribute jsval manifest; */
NS_IMETHODIMP _MYCLASS_::GetManifest(JS::Value *aManifest)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute DOMString manifestURL; */
NS_IMETHODIMP _MYCLASS_::GetManifestURL(nsAString & aManifestURL)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute jsval receipts; */
NS_IMETHODIMP _MYCLASS_::GetReceipts(JS::Value *aReceipts)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute DOMString origin; */
NS_IMETHODIMP _MYCLASS_::GetOrigin(nsAString & aOrigin)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute DOMString installOrigin; */
NS_IMETHODIMP _MYCLASS_::GetInstallOrigin(nsAString & aInstallOrigin)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute unsigned long long installTime; */
NS_IMETHODIMP _MYCLASS_::GetInstallTime(uint64_t *aInstallTime)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute double progress; */
NS_IMETHODIMP _MYCLASS_::GetProgress(double *aProgress)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute DOMString status; */
NS_IMETHODIMP _MYCLASS_::GetStatus(nsAString & aStatus)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsIDOMEventListener onprogress; */
NS_IMETHODIMP _MYCLASS_::GetOnprogress(nsIDOMEventListener * *aOnprogress)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetOnprogress(nsIDOMEventListener *aOnprogress)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIDOMDOMRequest launch ([optional] in DOMString startPoint); */
NS_IMETHODIMP _MYCLASS_::Launch(const nsAString & startPoint, nsIDOMDOMRequest * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIDOMDOMRequest uninstall (); */
NS_IMETHODIMP _MYCLASS_::Uninstall(nsIDOMDOMRequest * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif


/* starting interface:    mozIDOMApplicationMgmt */
#define MOZIDOMAPPLICATIONMGMT_IID_STR "4c36ca48-841e-4d5a-8c46-dda14ac633ca"

#define MOZIDOMAPPLICATIONMGMT_IID \
  {0x4c36ca48, 0x841e, 0x4d5a, \
    { 0x8c, 0x46, 0xdd, 0xa1, 0x4a, 0xc6, 0x33, 0xca }}

class NS_NO_VTABLE mozIDOMApplicationMgmt : public nsISupports {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(MOZIDOMAPPLICATIONMGMT_IID)

  /* nsIDOMDOMRequest getAll (); */
  NS_IMETHOD GetAll(nsIDOMDOMRequest * *_retval) = 0;

  /* nsIDOMDOMRequest getNotInstalled (); */
  NS_IMETHOD GetNotInstalled(nsIDOMDOMRequest * *_retval) = 0;

  /* attribute nsIDOMEventListener oninstall; */
  NS_IMETHOD GetOninstall(nsIDOMEventListener * *aOninstall) = 0;
  NS_IMETHOD SetOninstall(nsIDOMEventListener *aOninstall) = 0;

  /* attribute nsIDOMEventListener onuninstall; */
  NS_IMETHOD GetOnuninstall(nsIDOMEventListener * *aOnuninstall) = 0;
  NS_IMETHOD SetOnuninstall(nsIDOMEventListener *aOnuninstall) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(mozIDOMApplicationMgmt, MOZIDOMAPPLICATIONMGMT_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_MOZIDOMAPPLICATIONMGMT \
  NS_IMETHOD GetAll(nsIDOMDOMRequest * *_retval); \
  NS_IMETHOD GetNotInstalled(nsIDOMDOMRequest * *_retval); \
  NS_IMETHOD GetOninstall(nsIDOMEventListener * *aOninstall); \
  NS_IMETHOD SetOninstall(nsIDOMEventListener *aOninstall); \
  NS_IMETHOD GetOnuninstall(nsIDOMEventListener * *aOnuninstall); \
  NS_IMETHOD SetOnuninstall(nsIDOMEventListener *aOnuninstall); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_MOZIDOMAPPLICATIONMGMT(_to) \
  NS_IMETHOD GetAll(nsIDOMDOMRequest * *_retval) { return _to GetAll(_retval); } \
  NS_IMETHOD GetNotInstalled(nsIDOMDOMRequest * *_retval) { return _to GetNotInstalled(_retval); } \
  NS_IMETHOD GetOninstall(nsIDOMEventListener * *aOninstall) { return _to GetOninstall(aOninstall); } \
  NS_IMETHOD SetOninstall(nsIDOMEventListener *aOninstall) { return _to SetOninstall(aOninstall); } \
  NS_IMETHOD GetOnuninstall(nsIDOMEventListener * *aOnuninstall) { return _to GetOnuninstall(aOnuninstall); } \
  NS_IMETHOD SetOnuninstall(nsIDOMEventListener *aOnuninstall) { return _to SetOnuninstall(aOnuninstall); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_MOZIDOMAPPLICATIONMGMT(_to) \
  NS_IMETHOD GetAll(nsIDOMDOMRequest * *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAll(_retval); } \
  NS_IMETHOD GetNotInstalled(nsIDOMDOMRequest * *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNotInstalled(_retval); } \
  NS_IMETHOD GetOninstall(nsIDOMEventListener * *aOninstall) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOninstall(aOninstall); } \
  NS_IMETHOD SetOninstall(nsIDOMEventListener *aOninstall) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOninstall(aOninstall); } \
  NS_IMETHOD GetOnuninstall(nsIDOMEventListener * *aOnuninstall) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOnuninstall(aOnuninstall); } \
  NS_IMETHOD SetOnuninstall(nsIDOMEventListener *aOnuninstall) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOnuninstall(aOnuninstall); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class _MYCLASS_ : public mozIDOMApplicationMgmt
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_MOZIDOMAPPLICATIONMGMT

  _MYCLASS_();

private:
  ~_MYCLASS_();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(_MYCLASS_, mozIDOMApplicationMgmt)

_MYCLASS_::_MYCLASS_()
{
  /* member initializers and constructor code */
}

_MYCLASS_::~_MYCLASS_()
{
  /* destructor code */
}

/* nsIDOMDOMRequest getAll (); */
NS_IMETHODIMP _MYCLASS_::GetAll(nsIDOMDOMRequest * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIDOMDOMRequest getNotInstalled (); */
NS_IMETHODIMP _MYCLASS_::GetNotInstalled(nsIDOMDOMRequest * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsIDOMEventListener oninstall; */
NS_IMETHODIMP _MYCLASS_::GetOninstall(nsIDOMEventListener * *aOninstall)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetOninstall(nsIDOMEventListener *aOninstall)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsIDOMEventListener onuninstall; */
NS_IMETHODIMP _MYCLASS_::GetOnuninstall(nsIDOMEventListener * *aOnuninstall)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetOnuninstall(nsIDOMEventListener *aOnuninstall)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif


/* starting interface:    mozIDOMApplicationRegistry */
#define MOZIDOMAPPLICATIONREGISTRY_IID_STR "dd9a044c-1073-4d2b-a17d-c9b5834b3420"

#define MOZIDOMAPPLICATIONREGISTRY_IID \
  {0xdd9a044c, 0x1073, 0x4d2b, \
    { 0xa1, 0x7d, 0xc9, 0xb5, 0x83, 0x4b, 0x34, 0x20 }}

class NS_NO_VTABLE mozIDOMApplicationRegistry : public nsISupports {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(MOZIDOMAPPLICATIONREGISTRY_IID)

  /* nsIDOMDOMRequest install (in DOMString manifestUrl, [optional] in jsval parameters); */
  NS_IMETHOD Install(const nsAString & manifestUrl, const JS::Value & parameters, nsIDOMDOMRequest * *_retval) = 0;

  /* nsIDOMDOMRequest getSelf (); */
  NS_IMETHOD GetSelf(nsIDOMDOMRequest * *_retval) = 0;

  /* nsIDOMDOMRequest getInstalled (); */
  NS_IMETHOD GetInstalled(nsIDOMDOMRequest * *_retval) = 0;

  /* readonly attribute mozIDOMApplicationMgmt mgmt; */
  NS_IMETHOD GetMgmt(mozIDOMApplicationMgmt * *aMgmt) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(mozIDOMApplicationRegistry, MOZIDOMAPPLICATIONREGISTRY_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_MOZIDOMAPPLICATIONREGISTRY \
  NS_IMETHOD Install(const nsAString & manifestUrl, const JS::Value & parameters, nsIDOMDOMRequest * *_retval); \
  NS_IMETHOD GetSelf(nsIDOMDOMRequest * *_retval); \
  NS_IMETHOD GetInstalled(nsIDOMDOMRequest * *_retval); \
  NS_IMETHOD GetMgmt(mozIDOMApplicationMgmt * *aMgmt); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_MOZIDOMAPPLICATIONREGISTRY(_to) \
  NS_IMETHOD Install(const nsAString & manifestUrl, const JS::Value & parameters, nsIDOMDOMRequest * *_retval) { return _to Install(manifestUrl, parameters, _retval); } \
  NS_IMETHOD GetSelf(nsIDOMDOMRequest * *_retval) { return _to GetSelf(_retval); } \
  NS_IMETHOD GetInstalled(nsIDOMDOMRequest * *_retval) { return _to GetInstalled(_retval); } \
  NS_IMETHOD GetMgmt(mozIDOMApplicationMgmt * *aMgmt) { return _to GetMgmt(aMgmt); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_MOZIDOMAPPLICATIONREGISTRY(_to) \
  NS_IMETHOD Install(const nsAString & manifestUrl, const JS::Value & parameters, nsIDOMDOMRequest * *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->Install(manifestUrl, parameters, _retval); } \
  NS_IMETHOD GetSelf(nsIDOMDOMRequest * *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSelf(_retval); } \
  NS_IMETHOD GetInstalled(nsIDOMDOMRequest * *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetInstalled(_retval); } \
  NS_IMETHOD GetMgmt(mozIDOMApplicationMgmt * *aMgmt) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMgmt(aMgmt); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class _MYCLASS_ : public mozIDOMApplicationRegistry
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_MOZIDOMAPPLICATIONREGISTRY

  _MYCLASS_();

private:
  ~_MYCLASS_();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(_MYCLASS_, mozIDOMApplicationRegistry)

_MYCLASS_::_MYCLASS_()
{
  /* member initializers and constructor code */
}

_MYCLASS_::~_MYCLASS_()
{
  /* destructor code */
}

/* nsIDOMDOMRequest install (in DOMString manifestUrl, [optional] in jsval parameters); */
NS_IMETHODIMP _MYCLASS_::Install(const nsAString & manifestUrl, const JS::Value & parameters, nsIDOMDOMRequest * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIDOMDOMRequest getSelf (); */
NS_IMETHODIMP _MYCLASS_::GetSelf(nsIDOMDOMRequest * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIDOMDOMRequest getInstalled (); */
NS_IMETHODIMP _MYCLASS_::GetInstalled(nsIDOMDOMRequest * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute mozIDOMApplicationMgmt mgmt; */
NS_IMETHODIMP _MYCLASS_::GetMgmt(mozIDOMApplicationMgmt * *aMgmt)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif


#endif /* __gen_nsIDOMApplicationRegistry_h__ */
