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 
25 
26 NS_ASSUME_NONNULL_BEGIN
27 
32 @protocol VLCRendererDiscovererDelegate <NSObject>
33 
34 - (void)rendererDiscovererItemAdded:(VLCRendererDiscoverer *)rendererDiscoverer
35  item:(VLCRendererItem *)item;
36 - (void)rendererDiscovererItemDeleted:(VLCRendererDiscoverer *)rendererDiscoverer
37  item:(VLCRendererItem *)item;
38 
39 @end
40 
44 @interface VLCRendererDiscovererDescription : NSObject
45 
49 @property (nonatomic, readonly, copy) NSString *name;
50 
54 @property (nonatomic, readonly, copy) NSString *longName;
55 
62 - (instancetype)initWithName:(NSString *)name longName:(NSString *)longName;
63 
64 @end
65 
69 @interface VLCRendererDiscoverer : NSObject
70 
74 @property (nonatomic, readonly, copy) NSString *name;
75 
79 @property (nonatomic, readonly, copy) NSArray<VLCRendererItem *> *renderers;
80 
84 @property (nonatomic, weak, nullable) id <VLCRendererDiscovererDelegate> delegate;
85 
86 - (instancetype)init NS_UNAVAILABLE;
87 
93 - (nullable instancetype)initWithName:(NSString *)name;
94 
95 
100 - (NSArray<VLCRendererItem *> *)renderers;
101 
106 - (BOOL)start;
107 
112 - (void)stop;
113 
120 + (nullable NSArray<VLCRendererDiscovererDescription *> *)list;
121 
122 @end
123 
124 NS_ASSUME_NONNULL_END
VLCRendererDiscovererDescription::name
NSString * name
Definition: VLCRendererDiscoverer.h:49
VLCRendererItem
Definition: VLCRendererItem.h:36
VLCRendererDiscoverer
Definition: VLCRendererDiscoverer.h:69
VLCRendererDiscovererDelegate-p
Definition: VLCRendererDiscoverer.h:32
VLCRendererDiscovererDescription
Definition: VLCRendererDiscoverer.h:44
VLCRendererDiscovererDescription::longName
NSString * longName
Definition: VLCRendererDiscoverer.h:54