#include "chrome/browser/invalidation/p2p_invalidation_service.h"
#include "base/command_line.h"
-#include "chrome/browser/invalidation/invalidation_auth_provider.h"
#include "chrome/browser/invalidation/invalidation_service_util.h"
-#include "chrome/browser/profiles/profile.h"
#include "chrome/common/chrome_switches.h"
+#include "google_apis/gaia/identity_provider.h"
#include "jingle/notifier/base/notifier_options.h"
#include "jingle/notifier/listener/push_client.h"
+#include "net/url_request/url_request_context_getter.h"
#include "sync/notifier/p2p_invalidator.h"
namespace net {
namespace invalidation {
P2PInvalidationService::P2PInvalidationService(
- Profile* profile,
- scoped_ptr<InvalidationAuthProvider> auth_provider)
- : auth_provider_(auth_provider.Pass()) {
+ scoped_ptr<IdentityProvider> identity_provider,
+ const scoped_refptr<net::URLRequestContextGetter>& request_context,
+ syncer::P2PNotificationTarget notification_target)
+ : identity_provider_(identity_provider.Pass()) {
notifier::NotifierOptions notifier_options =
ParseNotifierOptions(*CommandLine::ForCurrentProcess());
- notifier_options.request_context_getter = profile->GetRequestContext();
+ notifier_options.request_context_getter = request_context;
invalidator_id_ = GenerateInvalidatorClientId();
invalidator_.reset(new syncer::P2PInvalidator(
notifier::PushClient::CreateDefault(notifier_options),
invalidator_id_,
- syncer::NOTIFY_ALL));
+ notification_target));
}
P2PInvalidationService::~P2PInvalidationService() {
caller.Run(value);
}
-InvalidationAuthProvider*
-P2PInvalidationService::GetInvalidationAuthProvider() {
- return auth_provider_.get();
+IdentityProvider* P2PInvalidationService::GetIdentityProvider() {
+ return identity_provider_.get();
}
} // namespace invalidation