VLCKit
VLCRendererDiscoverer.h
1 /*****************************************************************************
2  * VLCRendererDiscoverer.h
3  *****************************************************************************
4  * Copyright © 2018 VLC authors, VideoLAN
5  * Copyright © 2018 Videolabs
6  *
7  * Authors: Soomin Lee<bubu@mikan.io>
8  *
9  * This program is free software; you can redistribute it and/or modify it
10  * under the terms of the GNU Lesser General Public License as published by
11  * the Free Software Foundation; either version 2.1 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public License
20  * along with this program; if not, write to the Free Software Foundation,
21  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
22  *****************************************************************************/
23 
24 @class VLCRendererItem;
26 
27 NS_ASSUME_NONNULL_BEGIN
28 
33 @protocol VLCRendererDiscovererDelegate <NSObject>
34 
35 - (void)rendererDiscovererItemAdded:(VLCRendererDiscoverer *)rendererDiscoverer
36  item:(VLCRendererItem *)item;
37 - (void)rendererDiscovererItemDeleted:(VLCRendererDiscoverer *)rendererDiscoverer
38  item:(VLCRendererItem *)item;
39 
40 @end
41 
45 @interface VLCRendererDiscovererDescription : NSObject
46 
50 @property (nonatomic, readonly, copy) NSString *name;
51 
55 @property (nonatomic, readonly, copy) NSString *longName;
56 
63 - (instancetype)initWithName:(NSString *)name longName:(NSString *)longName;
64 
65 @end
66 
70 @interface VLCRendererDiscoverer : NSObject
71 
75 @property (nonatomic, readonly, copy) NSString *name;
76 
80 @property (nonatomic, readonly, copy) NSArray<VLCRendererItem *> *renderers;
81 
85 @property (nonatomic, weak) id <VLCRendererDiscovererDelegate> _Nullable delegate;
86 
87 - (instancetype)init NS_UNAVAILABLE;
88 
94 - (instancetype _Nullable)initWithName:(NSString *)name;
95 
96 
101 - (NSArray<VLCRendererItem *> *)renderers;
102 
107 - (BOOL)start;
108 
113 - (void)stop;
114 
121 + (NSArray<VLCRendererDiscovererDescription *> * _Nullable)list;
122 
123 @end
124 
125 NS_ASSUME_NONNULL_END
NSString * longName
Definition: VLCRendererDiscoverer.h:55
Definition: VLCRendererItem.h:36
Definition: VLCRendererDiscoverer.h:33
Definition: VLCRendererDiscoverer.h:45
NSString * name
Definition: VLCRendererDiscoverer.h:50
Definition: VLCRendererDiscoverer.h:70