// found in the LICENSE file.
#include "base/callback_forward.h"
+#include "base/memory/ref_counted.h"
#include "base/threading/non_thread_safe.h"
-#include "chrome/browser/invalidation/invalidation_service.h"
+#include "components/invalidation/invalidation_service.h"
#include "components/keyed_service/core/keyed_service.h"
+#include "sync/notifier/p2p_invalidator.h"
#ifndef CHROME_BROWSER_INVALIDATION_P2P_INVALIDATION_SERVICE_H_
#define CHROME_BROWSER_INVALIDATION_P2P_INVALIDATION_SERVICE_H_
+namespace net {
+class URLRequestContextGetter;
+}
+
namespace syncer {
class P2PInvalidator;
}
-class Profile;
-
namespace invalidation {
class InvalidationLogger;
: public base::NonThreadSafe,
public InvalidationService {
public:
- P2PInvalidationService(Profile* profile,
- scoped_ptr<InvalidationAuthProvider> auth_provider);
+ P2PInvalidationService(
+ scoped_ptr<IdentityProvider> identity_provider,
+ const scoped_refptr<net::URLRequestContextGetter>& request_context,
+ syncer::P2PNotificationTarget notification_target);
virtual ~P2PInvalidationService();
// Overrides KeyedService method.
virtual InvalidationLogger* GetInvalidationLogger() OVERRIDE;
virtual void RequestDetailedStatus(
base::Callback<void(const base::DictionaryValue&)> caller) const OVERRIDE;
- virtual InvalidationAuthProvider* GetInvalidationAuthProvider() OVERRIDE;
+ virtual IdentityProvider* GetIdentityProvider() OVERRIDE;
void UpdateCredentials(const std::string& username,
const std::string& password);
void SendInvalidation(const syncer::ObjectIdSet& ids);
private:
- scoped_ptr<InvalidationAuthProvider> auth_provider_;
+ scoped_ptr<IdentityProvider> identity_provider_;
scoped_ptr<syncer::P2PInvalidator> invalidator_;
std::string invalidator_id_;