Popular sites on the NTP: check that experiment group StartsWith (rather than IS...
[chromium-blink-merge.git] / chrome / browser / ui / cocoa / media_picker / desktop_media_picker_bridge.h
blobd8151aafba40a22ee4364910fd86dddff3656e30
1 // Copyright 2013 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.
5 #ifndef CHROME_BROWSER_UI_COCOA_MEDIA_PICKER_DESKTOP_MEDIA_PICKER_BRIDGE_H_
6 #define CHROME_BROWSER_UI_COCOA_MEDIA_PICKER_DESKTOP_MEDIA_PICKER_BRIDGE_H_
8 #include "base/basictypes.h"
9 #include "chrome/browser/media/desktop_media_list_observer.h"
11 // Protocol corresponding to |DesktopMediaListObserver|.
12 @protocol DesktopMediaPickerObserver
13 - (void)sourceAddedAtIndex:(int)index;
14 - (void)sourceRemovedAtIndex:(int)index;
15 - (void)sourceMovedFrom:(int)oldIndex to:(int)newIndex;
16 - (void)sourceNameChangedAtIndex:(int)index;
17 - (void)sourceThumbnailChangedAtIndex:(int)index;
18 @end
20 // Provides a |DesktopMediaListObserver| implementation that forwards
21 // notifications to a objective-c object implementing the
22 // |DesktopMediaPickerObserver| protocol.
23 class DesktopMediaPickerBridge : public DesktopMediaListObserver {
24 public:
25 DesktopMediaPickerBridge(id<DesktopMediaPickerObserver> observer);
26 ~DesktopMediaPickerBridge() override;
28 // DesktopMediaListObserver overrides.
29 void OnSourceAdded(int index) override;
30 void OnSourceRemoved(int index) override;
31 void OnSourceMoved(int old_index, int new_index) override;
32 void OnSourceNameChanged(int index) override;
33 void OnSourceThumbnailChanged(int index) override;
35 private:
36 id<DesktopMediaPickerObserver> observer_; // weak; owns this
38 DISALLOW_COPY_AND_ASSIGN(DesktopMediaPickerBridge);
41 #endif // CHROME_BROWSER_UI_COCOA_MEDIA_PICKER_DESKTOP_MEDIA_PICKER_BRIDGE_H_