- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / cocoa / media_picker / desktop_media_picker_bridge.h
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.
4
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_
7
8 #include "base/basictypes.h"
9 #include "chrome/browser/media/desktop_media_picker_model.h"
10
11 // Protocol corresponding to |DesktopMediaPickerModel::Observer|.
12 @protocol DesktopMediaPickerObserver
13 - (void)sourceAddedAtIndex:(int)index;
14 - (void)sourceRemovedAtIndex:(int)index;
15 - (void)sourceNameChangedAtIndex:(int)index;
16 - (void)sourceThumbnailChangedAtIndex:(int)index;
17 @end
18
19 // Provides a |DesktopMediaPickerModel::Observer| implementation that forwards
20 // notifications to a objective-c object implementing the
21 // |DesktopMediaPickerObserver| protocol.
22 class DesktopMediaPickerBridge : public DesktopMediaPickerModel::Observer {
23  public:
24   DesktopMediaPickerBridge(id<DesktopMediaPickerObserver> observer);
25   virtual ~DesktopMediaPickerBridge();
26
27   // DesktopMediaPickerModel::Observer overrides
28   virtual void OnSourceAdded(int index) OVERRIDE;
29   virtual void OnSourceRemoved(int index) OVERRIDE;
30   virtual void OnSourceNameChanged(int index) OVERRIDE;
31   virtual void OnSourceThumbnailChanged(int index) OVERRIDE;
32
33  private:
34   id<DesktopMediaPickerObserver> observer_;  // weak; owns this
35
36   DISALLOW_COPY_AND_ASSIGN(DesktopMediaPickerBridge);
37 };
38
39 #endif  // CHROME_BROWSER_UI_COCOA_MEDIA_PICKER_DESKTOP_MEDIA_PICKER_BRIDGE_H_