- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / cocoa / media_picker / desktop_media_picker_item.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_ITEM_H_
6 #define CHROME_BROWSER_UI_COCOA_MEDIA_PICKER_DESKTOP_MEDIA_PICKER_ITEM_H_
7
8 #import <AppKit/AppKit.h>
9
10 #import "base/mac/scoped_nsobject.h"
11 #include "chrome/browser/media/desktop_media_picker_model.h"
12
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_;
23 }
24
25 // Designated initializer.
26 // |sourceID| is the corresponding source's ID as provided by the model.
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;
34
35 // Returns the source's ID.
36 - (content::DesktopMediaID)sourceID;
37
38 // Sets the image of the item to be displayed in |IKImageBrowserView|.
39 - (void)setImageRepresentation:(NSImage*)image;
40
41 // Sets the label of the item to be displayed in |IKImageBrowserView|.
42 - (void)setImageTitle:(NSString*)imageTitle;
43
44 @end
45
46 #endif  // CHROME_BROWSER_UI_COCOA_MEDIA_PICKER_DESKTOP_MEDIA_PICKER_ITEM_H_