1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
/// [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmediaselection?language=objc)
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct AVMediaSelection;
);
extern_conformance!(
unsafe impl NSCopying for AVMediaSelection {}
);
unsafe impl CopyingHelper for AVMediaSelection {
type Result = Self;
}
extern_conformance!(
unsafe impl NSMutableCopying for AVMediaSelection {}
);
unsafe impl MutableCopyingHelper for AVMediaSelection {
type Result = AVMutableMediaSelection;
}
extern_conformance!(
unsafe impl NSObjectProtocol for AVMediaSelection {}
);
impl AVMediaSelection {
extern_methods!(
#[cfg(feature = "AVAsset")]
#[unsafe(method(asset))]
#[unsafe(method_family = none)]
pub unsafe fn asset(&self) -> Option<Retained<AVAsset>>;
#[cfg(feature = "AVMediaSelectionGroup")]
/// Indicates the media selection option that's currently selected from the specified group. May be nil.
///
/// Parameter `mediaSelectionGroup`: A media selection group obtained from the receiver's asset.
///
/// Returns: An instance of AVMediaSelectionOption that describes the currently selection option in the group.
///
/// If the value of the property allowsEmptySelection of the AVMediaSelectionGroup is YES, the currently selected option in the group may be nil.
#[unsafe(method(selectedMediaOptionInMediaSelectionGroup:))]
#[unsafe(method_family = none)]
pub unsafe fn selectedMediaOptionInMediaSelectionGroup(
&self,
media_selection_group: &AVMediaSelectionGroup,
) -> Option<Retained<AVMediaSelectionOption>>;
#[cfg(feature = "AVMediaSelectionGroup")]
/// Indicates that specified media selection group is subject to automatic media selection.
///
/// Parameter `mediaSelectionGroup`: A media selection group obtained from the receiver's asset.
///
/// Returns: YES if the group is subject to automatic media selection.
///
/// Automatic application of media selection criteria is suspended in any group in which a specific selection has been made via an invocation of -selectMediaOption:inMediaSelectionGroup:.
#[unsafe(method(mediaSelectionCriteriaCanBeAppliedAutomaticallyToMediaSelectionGroup:))]
#[unsafe(method_family = none)]
pub unsafe fn mediaSelectionCriteriaCanBeAppliedAutomaticallyToMediaSelectionGroup(
&self,
media_selection_group: &AVMediaSelectionGroup,
) -> bool;
);
}
/// Methods declared on superclass `NSObject`.
impl AVMediaSelection {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}
extern_class!(
/// [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avmutablemediaselection?language=objc)
#[unsafe(super(AVMediaSelection, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct AVMutableMediaSelection;
);
extern_conformance!(
unsafe impl NSCopying for AVMutableMediaSelection {}
);
unsafe impl CopyingHelper for AVMutableMediaSelection {
type Result = AVMediaSelection;
}
extern_conformance!(
unsafe impl NSMutableCopying for AVMutableMediaSelection {}
);
unsafe impl MutableCopyingHelper for AVMutableMediaSelection {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for AVMutableMediaSelection {}
);
impl AVMutableMediaSelection {
extern_methods!(
#[cfg(feature = "AVMediaSelectionGroup")]
/// Selects the media option described by the specified instance of AVMediaSelectionOption in the specified AVMediaSelectionGroup and deselects all other options in that group.
///
/// Parameter `mediaSelectionOption`: The option to select.
///
/// Parameter `mediaSelectionGroup`: The media selection group, obtained from the receiver's asset, that contains the specified option.
///
/// If the specified media selection option isn't a member of the specified media selection group, no change in presentation state will result.
/// If the value of the property allowsEmptySelection of the AVMediaSelectionGroup is YES, you can pass nil for mediaSelectionOption to deselect all media selection options in the group.
#[unsafe(method(selectMediaOption:inMediaSelectionGroup:))]
#[unsafe(method_family = none)]
pub unsafe fn selectMediaOption_inMediaSelectionGroup(
&self,
media_selection_option: Option<&AVMediaSelectionOption>,
media_selection_group: &AVMediaSelectionGroup,
);
);
}
/// Methods declared on superclass `NSObject`.
impl AVMutableMediaSelection {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}