Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / ui / cocoa / media_picker / desktop_media_picker_item.h
blob55191ef1cdb3256e62a513bca7ceb66b0cd6ce5d
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_ITEM_H_
6 #define CHROME_BROWSER_UI_COCOA_MEDIA_PICKER_DESKTOP_MEDIA_PICKER_ITEM_H_
8 #import <AppKit/AppKit.h>
10 #import "base/mac/scoped_nsobject.h"
11 #include "chrome/browser/media/desktop_media_list.h"
13 // Stores the data representing a |DesktopMediaPicker| source for displaying in
14 // a |IKImageBrowserView|. Implements the |IKImageBrowserItem| informal
15 // protocol.
16 @interface DesktopMediaPickerItem : NSObject {
17 @private
18 content::DesktopMediaID sourceID_;
19 base::scoped_nsobject<NSString> imageUID_;
20 base::scoped_nsobject<NSString> imageTitle_;
21 base::scoped_nsobject<NSImage> image_;
22 NSUInteger imageVersion_;
25 // Designated initializer.
26 // |sourceID| is the corresponding source's ID as provided by the media list.
27 // |imageUID| is a unique number in the context of the |IKImageBrowserView|
28 // instance.
29 // |imageTitle| is the source's name to be used as the label in
30 // |IKImageBrowserView|.
31 - (id)initWithSourceId:(content::DesktopMediaID)sourceID
32 imageUID:(int)imageUID
33 imageTitle:(NSString*)imageTitle;
35 // Returns the source's ID.
36 - (content::DesktopMediaID)sourceID;
38 // Sets the image of the item to be displayed in |IKImageBrowserView|.
39 - (void)setImageRepresentation:(NSImage*)image;
41 // Sets the label of the item to be displayed in |IKImageBrowserView|.
42 - (void)setImageTitle:(NSString*)imageTitle;
44 @end
46 #endif // CHROME_BROWSER_UI_COCOA_MEDIA_PICKER_DESKTOP_MEDIA_PICKER_ITEM_H_