1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CONTENT_PUBLIC_BROWSER_PUSH_MESSAGING_SERVICE_H_ 6 #define CONTENT_PUBLIC_BROWSER_PUSH_MESSAGING_SERVICE_H_ 7 8 #include <string> 9 10 #include "base/callback.h" 11 #include "content/common/content_export.h" 12 #include "url/gurl.h" 13 14 namespace content { 15 16 // A push service-agnostic interface that the Push API uses for talking to 17 // push messaging services like GCM. 18 class CONTENT_EXPORT PushMessagingService { 19 public: 20 typedef base::Callback<void(const GURL& /* endpoint */, 21 const std::string& /* registration_id */, 22 bool /* success */)> 23 RegisterCallback; 24 25 virtual ~PushMessagingService() {} 26 virtual void Register(const std::string& app_id, 27 const std::string& sender_id, 28 const RegisterCallback& callback) = 0; 29 }; 30 31 } // namespace content 32 33 #endif // CONTENT_PUBLIC_BROWSER_PUSH_MESSAGING_SERVICE_H_ 34