summaryrefslogtreecommitdiffstats
path: root/extensions/pref/autoconfig/src/nsAutoConfig.h
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/pref/autoconfig/src/nsAutoConfig.h')
-rw-r--r--extensions/pref/autoconfig/src/nsAutoConfig.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/extensions/pref/autoconfig/src/nsAutoConfig.h b/extensions/pref/autoconfig/src/nsAutoConfig.h
new file mode 100644
index 000000000..d805ad184
--- /dev/null
+++ b/extensions/pref/autoconfig/src/nsAutoConfig.h
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#ifndef nsAutoConfig_h
+#define nsAutoConfig_h
+
+#include "nsIAutoConfig.h"
+#include "nsITimer.h"
+#include "nsIFile.h"
+#include "nsIObserver.h"
+#include "nsIStreamListener.h"
+#include "nsIPrefService.h"
+#include "nsIPrefBranch.h"
+#include "nsWeakReference.h"
+#include "nsString.h"
+
+class nsAutoConfig : public nsIAutoConfig,
+ public nsITimerCallback,
+ public nsIStreamListener,
+ public nsIObserver,
+ public nsSupportsWeakReference
+
+{
+ public:
+
+ NS_DECL_THREADSAFE_ISUPPORTS
+ NS_DECL_NSIAUTOCONFIG
+ NS_DECL_NSIREQUESTOBSERVER
+ NS_DECL_NSISTREAMLISTENER
+ NS_DECL_NSIOBSERVER
+ NS_DECL_NSITIMERCALLBACK
+
+ nsAutoConfig();
+ nsresult Init();
+
+ protected:
+
+ virtual ~nsAutoConfig();
+ nsresult downloadAutoConfig();
+ nsresult readOfflineFile();
+ nsresult evaluateLocalFile(nsIFile *file);
+ nsresult writeFailoverFile();
+ nsresult getEmailAddr(nsACString & emailAddr);
+ nsresult PromptForEMailAddress(nsACString &emailAddress);
+ nsCString mBuf;
+ nsCOMPtr<nsIPrefBranch> mPrefBranch;
+ bool mLoaded;
+ nsCOMPtr<nsITimer> mTimer;
+ nsCString mConfigURL;
+};
+
+#endif