Chromium Code Reviews| 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 |