Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(76)

Unified Diff: chrome/browser/sync/notifier/base/network_status_detector_task.h

Issue 194065: Initial commit of sync engine code to browser/sync.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Fixes to gtest include path, reverted syncapi. Created 11 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sync/notifier/base/network_status_detector_task.h
===================================================================
--- chrome/browser/sync/notifier/base/network_status_detector_task.h (revision 0)
+++ chrome/browser/sync/notifier/base/network_status_detector_task.h (revision 0)
@@ -0,0 +1,55 @@
+// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_SYNC_NOTIFIER_BASE_NETWORK_STATUS_DETECTOR_TASK_H_
+#define CHROME_BROWSER_SYNC_NOTIFIER_BASE_NETWORK_STATUS_DETECTOR_TASK_H_
+
+#include "chrome/browser/sync/notifier/base/time.h"
+#include "talk/base/sigslot.h"
+#include "talk/base/task.h"
+
+namespace notifier {
+class AsyncNetworkAlive;
+
+// Detects the current network state and any changes to that.
+class NetworkStatusDetectorTask : public talk_base::Task,
+ public sigslot::has_slots<> {
+ public:
+ // Create an instance of (a subclass of) this class.
+ static NetworkStatusDetectorTask* Create(talk_base::Task* parent);
+
+ // Determines the current network state and
+ // then calls SignalNetworkStateDetected.
+ void DetectNetworkState();
+
+ // Fires whenever the network state is detected.
+ // SignalNetworkStateDetected(was_alive, is_alive);
+ sigslot::signal2<bool, bool> SignalNetworkStateDetected;
+
+ protected:
+ explicit NetworkStatusDetectorTask(talk_base::Task* parent)
+ : talk_base::Task(parent),
+ initial_detection_done_(false),
+ is_alive_(false) {
+ }
+
+ virtual ~NetworkStatusDetectorTask() { }
+
+ virtual int ProcessStart() = 0;
+
+ // Stay around until aborted.
+ virtual int ProcessResponse() {
+ return STATE_BLOCKED;
+ }
+
+ void SetNetworkAlive(bool is_alive);
+
+ private:
+ bool initial_detection_done_;
+ bool is_alive_;
+
+ DISALLOW_COPY_AND_ASSIGN(NetworkStatusDetectorTask);
+};
idana 2009/09/10 05:44:37 Blank lines.
+} // namespace notifier
+#endif // CHROME_BROWSER_SYNC_NOTIFIER_BASE_NETWORK_STATUS_DETECTOR_TASK_H_
Property changes on: chrome\browser\sync\notifier\base\network_status_detector_task.h
___________________________________________________________________
Added: svn:eol-style
+ LF

Powered by Google App Engine
This is Rietveld 408576698