Home | History | Annotate | Download | only in push_messaging
      1 // Copyright (c) 2012 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 CHROME_BROWSER_EXTENSIONS_API_PUSH_MESSAGING_PUSH_MESSAGING_INVALIDATION_MAPPER_H_
      6 #define CHROME_BROWSER_EXTENSIONS_API_PUSH_MESSAGING_PUSH_MESSAGING_INVALIDATION_MAPPER_H_
      7 
      8 #include <string>
      9 
     10 namespace extensions {
     11 
     12 // Interface for mapping extension IDs to object IDs.
     13 // TODO(dcheng): This interface is somewhat misnamed... think of a better name.
     14 class PushMessagingInvalidationMapper {
     15  public:
     16   virtual ~PushMessagingInvalidationMapper() {}
     17 
     18   // Informs the mapper that |extension_id| was just installed. The mapper uses
     19   // this information to suppress the initial invalidation on each subchannel
     20   // for that extension to avoid spurious push messages at install time.
     21   virtual void SuppressInitialInvalidationsForExtension(
     22       const std::string& extension_id) = 0;
     23 
     24   // Register/unregister the object IDs associated with |extension_id|.
     25   virtual void RegisterExtension(const std::string& extension_id) = 0;
     26   virtual void UnregisterExtension(const std::string& extension_id) = 0;
     27 };
     28 
     29 }  // namespace extensions
     30 
     31 #endif  // CHROME_BROWSER_EXTENSIONS_API_PUSH_MESSAGING_PUSH_MESSAGING_INVALIDATION_MAPPER_H_
     32