#ifndef SKIPSTONE_CONTENTHANDLER_H
#define SKIPSTONE_CONTENTHANDLER_H 1
#include <nsIComponentManager.h>
#include <nsCOMPtr.h>
#include <nsEmbedString.h>
#include <nsISupports.h>
#include <nsIURI.h>
#include <nsIFile.h>
#include <nsIHelperAppLauncherDialog.h>
#include <nsIGenericFactory.h>
#include <nsIComponentRegistrar.h>
#include <nsMemory.h>
#include <nsIURL.h>
#include <nsILocalFile.h>
#include <nsIMIMEInfo.h>
#include <nsIInterfaceRequestorUtils.h>
#include <nsIDOMWindow.h>
#include <nsCExternalHandlerService.h>



#define G_CONTENTHANDLER_CID			     \
{ /* 16072c4a-23a6-4996-9beb-9335c06bbeae */         \
    0x16072c4a,                                      \
    0x23a6,                                          \
    0x4996,                                          \
    {0x9b, 0xeb, 0x93, 0x35, 0xc0, 0x6b, 0xbe, 0xae} \
}

class GContentHandler : public nsIHelperAppLauncherDialog
{
  public:
	NS_DECL_ISUPPORTS
	NS_DECL_NSIHELPERAPPLAUNCHERDIALOG

	GContentHandler();
	virtual ~GContentHandler();
	NS_METHOD MIMEDoAction ();

  private:

	NS_METHOD Init ();

	NS_METHOD MIMEInitiateAction ();
	NS_METHOD MIMEConfirmAction ();

	nsCOMPtr<nsIHelperAppLauncher> mLauncher;
	nsCOMPtr<nsISupports> mContext;

	nsEmbedCString mUrl;
	char *mMimeType;
	PRUint32 mUserTime;
};

#endif /* SKIPSTONE_CONTENTHANDLER_H */
