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// Manages events for the private Chrome extensions media galleries API. This 6// is temporary and will be moved to a permanent, public place in the near 7// future. This class object lives on the UI thread. 8 9#ifndef CHROME_BROWSER_EXTENSIONS_API_MEDIA_GALLERIES_PRIVATE_MEDIA_GALLERIES_PRIVATE_EVENT_ROUTER_H_ 10#define CHROME_BROWSER_EXTENSIONS_API_MEDIA_GALLERIES_PRIVATE_MEDIA_GALLERIES_PRIVATE_EVENT_ROUTER_H_ 11 12#include <set> 13#include <string> 14 15#include "base/basictypes.h" 16#include "base/compiler_specific.h" 17#include "base/memory/weak_ptr.h" 18#include "chrome/browser/media_galleries/media_galleries_preferences.h" 19 20class Profile; 21 22namespace base { 23class ListValue; 24} 25 26namespace extensions { 27 28class MediaGalleriesPrivateEventRouter 29 : public base::SupportsWeakPtr<MediaGalleriesPrivateEventRouter> { 30 public: 31 explicit MediaGalleriesPrivateEventRouter(Profile* profile); 32 virtual ~MediaGalleriesPrivateEventRouter(); 33 34 // Gallery changed event handler. 35 void OnGalleryChanged(MediaGalleryPrefId gallery_id, 36 const std::set<std::string>& extension_ids); 37 38 private: 39 // Current profile. 40 Profile* profile_; 41 42 DISALLOW_COPY_AND_ASSIGN(MediaGalleriesPrivateEventRouter); 43}; 44 45} // namespace extensions 46 47#endif // CHROME_BROWSER_EXTENSIONS_API_MEDIA_GALLERIES_PRIVATE_MEDIA_GALLERIES_PRIVATE_EVENT_ROUTER_H_ 48