Skip to content

Commit 4f13e06

Browse files
authored
[src] Import xml docs for members, part 1. (#22210)
This has to be done in parts, because the Roslyn importer runs out of memory otherwise. Which also means I have no idea how many parts there will end up being. Partial fix for #17399.
1 parent 12d38e2 commit 4f13e06

File tree

161 files changed

+6527
-3032
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

161 files changed

+6527
-3032
lines changed

docs/api/AudioToolbox/AudioQueue.xml

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
<Documentation>
2+
<Docs DocId="P:AudioToolbox.AudioQueue.CurrentLevelMeter">
3+
<summary>Current Level meters, one per channel in the range zero (minimum) to one (maximum).</summary>
4+
<value>Array of level meters, one per audio channel.</value>
5+
<remarks>
6+
<para>
7+
To use this property, make sure that you set the <see cref="P:AudioToolbox.AudioQueue.EnableLevelMetering" /> property on the queue.
8+
</para>
9+
<para>
10+
Use the <see cref="P:AudioToolbox.AudioQueue.CurrentLevelMeterDB" /> if you want to get the values in decibels.
11+
</para>
12+
<example>
13+
<code lang="c#"><![CDATA[
14+
class MyInputQueue : InputAudioQueue {
15+
public MyQueueInput (AudioStreamBasicDescription desc) : base (desc)
16+
{
17+
inputQueue.EnableLevelMetering = true;
18+
}
19+
20+
protected virtual void OnInputCompleted (IntPtr audioQueueBuffer,
21+
AudioTimeStamp timeStamp,
22+
AudioStreamPacketDescription [] packetData)
23+
{
24+
var levels = CurrentLevelMeterDB;
25+
for (int channel = 0; channel < levels.Count; channel.Length)
26+
Console.WriteLine ("Channel {0} Average Power: {1} Peak Power: {2}",
27+
channel, levels [channel].AveragePower, levels [channel].PeakPower);
28+
}
29+
}
30+
}]]></code>
31+
</example>
32+
</remarks>
33+
</Docs>
34+
<Docs DocId="P:AudioToolbox.AudioQueue.CurrentLevelMeterDB">
35+
<summary>Current Level meters, one per channel in decibels.</summary>
36+
<value>Array of level meters, one per audio channel.</value>
37+
<remarks>
38+
<para>
39+
To use this property, make sure that you set the <see cref="P:AudioToolbox.AudioQueue.EnableLevelMetering" /> property on the queue.
40+
</para>
41+
<para>
42+
Use the <see cref="P:AudioToolbox.AudioQueue.CurrentLevelMeter" /> if you want to get the values normalized to the range zero (minimum) to one (maximum).
43+
</para>
44+
<example>
45+
<code lang="c#"><![CDATA[
46+
class MyInputQueue : InputAudioQueue {
47+
public MyQueueInput (AudioStreamBasicDescription desc) : base (desc)
48+
{
49+
inputQueue.EnableLevelMetering = true;
50+
}
51+
52+
protected virtual void OnInputCompleted (IntPtr audioQueueBuffer,
53+
AudioTimeStamp timeStamp,
54+
AudioStreamPacketDescription [] packetData)
55+
{
56+
var levels = CurrentLevelMeterDB;
57+
for (int channel = 0; channel < levels.Count; channel.Length)
58+
Console.WriteLine ("Channel {0} Average Power: {1} Peak Power: {2}",
59+
channel, levels [channel].AveragePower, levels [channel].PeakPower);
60+
}
61+
}
62+
}]]></code>
63+
</example>
64+
</remarks>
65+
</Docs>
66+
</Documentation>

docs/api/AudioUnit/AUAudioUnit.xml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
<Documentation>
2+
<Docs DocId="P:AudioUnit.AUAudioUnit.AudioComponentRegistrationsChangedNotification">
3+
<summary>Notification constant for AudioComponentRegistrationsChanged</summary>
4+
<value>NSString constant, should be used as a token to NSNotificationCenter.</value>
5+
<remarks>
6+
<para id="tool-remark">This constant can be used with the <see cref="T:Foundation.NSNotificationCenter" /> to register a listener for this notification. This is an NSString instead of a string, because these values can be used as tokens in some native libraries instead of being used purely for their actual string content. The 'notification' parameter to the callback contains extra information that is specific to the notification type.</para>
7+
<example>
8+
<code lang="csharp lang-csharp"><![CDATA[
9+
// Lambda style
10+
NSNotificationCenter.DefaultCenter.AddObserver (
11+
AUAudioUnit.AudioComponentRegistrationsChangedNotification, (notification) => {Console.WriteLine ("Received the notification AUAudioUnit", notification); }
12+
13+
14+
// Method style
15+
void Callback (NSNotification notification)
16+
{
17+
Console.WriteLine ("Received a notification AUAudioUnit", notification);
18+
}
19+
20+
void Setup ()
21+
{
22+
NSNotificationCenter.DefaultCenter.AddObserver (AUAudioUnit.AudioComponentRegistrationsChangedNotification, Callback);
23+
}
24+
]]></code>
25+
</example>
26+
</remarks>
27+
</Docs>
28+
<Docs DocId="P:AudioUnit.AUAudioUnit.AudioComponentInstanceInvalidationNotification">
29+
<summary>Notification constant for AudioComponentInstanceInvalidation</summary>
30+
<value>NSString constant, should be used as a token to NSNotificationCenter.</value>
31+
<remarks>
32+
<para id="tool-remark">This constant can be used with the <see cref="T:Foundation.NSNotificationCenter" /> to register a listener for this notification. This is an NSString instead of a string, because these values can be used as tokens in some native libraries instead of being used purely for their actual string content. The 'notification' parameter to the callback contains extra information that is specific to the notification type.</para>
33+
<example>
34+
<code lang="csharp lang-csharp"><![CDATA[
35+
// Lambda style
36+
NSNotificationCenter.DefaultCenter.AddObserver (
37+
AUAudioUnit.AudioComponentInstanceInvalidationNotification, (notification) => {Console.WriteLine ("Received the notification AUAudioUnit", notification); }
38+
39+
40+
// Method style
41+
void Callback (NSNotification notification)
42+
{
43+
Console.WriteLine ("Received a notification AUAudioUnit", notification);
44+
}
45+
46+
void Setup ()
47+
{
48+
NSNotificationCenter.DefaultCenter.AddObserver (AUAudioUnit.AudioComponentInstanceInvalidationNotification, Callback);
49+
}
50+
]]></code>
51+
</example>
52+
</remarks>
53+
</Docs>
54+
</Documentation>
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
<Documentation>
2+
<Docs DocId="F:AudioUnit.AudioComponentDescription.ComponentSubType">
3+
<summary>Audio Unit component subtype, depending on the <see cref="F:AudioUnit.AudioComponentDescription.ComponentSubType" /> value you should use one of the values from <see cref="T:AudioUnit.AudioTypeOutput" />, <see cref="T:AudioUnit.AudioTypeMusicDevice" />, <see cref="T:AudioUnit.AudioTypeConverter" />, <see cref="T:AudioUnit.AudioTypeEffect" />, <see cref="T:AudioUnit.AudioTypeMixer" />, <format type="text/html"><a href="https://docs.microsoft.com/en-us/search/index?search=T:AudioUnit.AudioTypePanner,&amp;scope=Xamarin" title="T:AudioUnit.AudioTypePanner,">T:AudioUnit.AudioTypePanner,</a></format> <see cref="T:AudioUnit.AudioTypeGenerator" /></summary>
4+
<remarks>
5+
<para>Audio Unit component subtype, depending on the <see cref="F:AudioUnit.AudioComponentDescription.ComponentType" /> you should use one of the values from <see cref="T:AudioUnit.AudioTypeOutput" />, <see cref="T:AudioUnit.AudioTypeMusicDevice" />, <see cref="T:AudioUnit.AudioTypeConverter" />, <see cref="T:AudioUnit.AudioTypeEffect" />, <see cref="T:AudioUnit.AudioTypeMixer" />, <format type="text/html"><a href="https://docs.microsoft.com/en-us/search/index?search=T:AudioUnit.AudioTypePanner,&amp;scope=Xamarin" title="T:AudioUnit.AudioTypePanner,">T:AudioUnit.AudioTypePanner,</a></format> <see cref="T:AudioUnit.AudioTypeGenerator" />.</para>
6+
<para />
7+
<para>Since this is an integer, and the values on those enumerations are strongly typed, you typically need to cast.   The following example shows this:</para>
8+
<para />
9+
<para />
10+
<example>
11+
<code lang="csharp lang-csharp"><![CDATA[var processingGraph = new AUGraph ();
12+
13+
int samplerNode, ioNode;
14+
15+
var musicSampler = new AudioComponentDescription () {
16+
ComponentManufacturer = AudioComponentManufacturerType.Apple,
17+
ComponentType = AudioComponentType.MusicDevice,
18+
ComponentSubType = (int)AudioTypeMusicDevice.Sampler
19+
};
20+
samplerNode = processingGraph.AddNode (musicSampler);
21+
22+
var remoteOutput = new AudioComponentDescription () {
23+
ComponentManufacturer = AudioComponentManufacturerType.Apple,
24+
ComponentType = AudioComponentType.Output,
25+
ComponentSubType = (int)AudioTypeOutput.Remote
26+
};
27+
ioNode = processingGraph.AddNode (remoteOutput);
28+
29+
processingGraph.Open ();]]></code>
30+
</example>.</remarks>
31+
</Docs>
32+
<Docs DocId="F:AudioUnit.AudioComponentDescription.ComponentSubType">
33+
<summary>Audio Unit component subtype, depending on the <see cref="F:AudioUnit.AudioComponentDescription.ComponentSubType" /> value you should use one of the values from <see cref="T:AudioUnit.AudioTypeOutput" />, <see cref="T:AudioUnit.AudioTypeMusicDevice" />, <see cref="T:AudioUnit.AudioTypeConverter" />, <see cref="T:AudioUnit.AudioTypeEffect" />, <see cref="T:AudioUnit.AudioTypeMixer" />, <format type="text/html"><a href="https://docs.microsoft.com/en-us/search/index?search=T:AudioUnit.AudioTypePanner,&amp;scope=Xamarin" title="T:AudioUnit.AudioTypePanner,">T:AudioUnit.AudioTypePanner,</a></format> <see cref="T:AudioUnit.AudioTypeGenerator" /></summary>
34+
<remarks>
35+
<para>Audio Unit component subtype, depending on the <see cref="F:AudioUnit.AudioComponentDescription.ComponentType" /> you should use one of the values from <see cref="T:AudioUnit.AudioTypeOutput" />, <see cref="T:AudioUnit.AudioTypeMusicDevice" />, <see cref="T:AudioUnit.AudioTypeConverter" />, <see cref="T:AudioUnit.AudioTypeEffect" />, <see cref="T:AudioUnit.AudioTypeMixer" />, <format type="text/html"><a href="https://docs.microsoft.com/en-us/search/index?search=T:AudioUnit.AudioTypePanner,&amp;scope=Xamarin" title="T:AudioUnit.AudioTypePanner,">T:AudioUnit.AudioTypePanner,</a></format> <see cref="T:AudioUnit.AudioTypeGenerator" />.</para>
36+
<para />
37+
<para>Since this is an integer, and the values on those enumerations are strongly typed, you typically need to cast.   The following example shows this:</para>
38+
<para />
39+
<para />
40+
<example>
41+
<code lang="csharp lang-csharp"><![CDATA[var processingGraph = new AUGraph ();
42+
43+
int samplerNode, ioNode;
44+
45+
var musicSampler = new AudioComponentDescription () {
46+
ComponentManufacturer = AudioComponentManufacturerType.Apple,
47+
ComponentType = AudioComponentType.MusicDevice,
48+
ComponentSubType = (int)AudioTypeMusicDevice.Sampler
49+
};
50+
samplerNode = processingGraph.AddNode (musicSampler);
51+
52+
var remoteOutput = new AudioComponentDescription () {
53+
ComponentManufacturer = AudioComponentManufacturerType.Apple,
54+
ComponentType = AudioComponentType.Output,
55+
ComponentSubType = (int)AudioTypeOutput.Remote
56+
};
57+
ioNode = processingGraph.AddNode (remoteOutput);
58+
59+
processingGraph.Open ();]]></code>
60+
</example>.</remarks>
61+
</Docs>
62+
</Documentation>

docs/api/CoreLocation/CLPlacemark.xml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<Documentation>
2+
<Docs DocId="P:CoreLocation.CLPlacemark.AddressDictionary">
3+
<summary>Developers should not use this deprecated property. Developers should use 'CLPlacemark' properties to access data.</summary>
4+
<value>To be added.</value>
5+
<remarks>
6+
<para>Available keys are:</para>
7+
<list type="bullet">
8+
<item>
9+
<term>
10+
<see cref="P:AddressBook.ABPersonAddressKey.Street" />
11+
</term>
12+
</item>
13+
<item>
14+
<term>
15+
<see cref="P:AddressBook.ABPersonAddressKey.City" />
16+
</term>
17+
</item>
18+
<item>
19+
<term>
20+
<see cref="P:AddressBook.ABPersonAddressKey.State" />
21+
</term>
22+
</item>
23+
<item>
24+
<term>
25+
<see cref="P:AddressBook.ABPersonAddressKey.Zip" />
26+
</term>
27+
</item>
28+
<item>
29+
<term>
30+
<see cref="P:AddressBook.ABPersonAddressKey.Country" />
31+
</term>
32+
</item>
33+
<item>
34+
<term>
35+
<see cref="P:AddressBook.ABPersonAddressKey.CountryCode" />
36+
</term>
37+
</item>
38+
</list>
39+
</remarks>
40+
</Docs>
41+
</Documentation>

docs/api/CoreMidi/Midi.xml

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
<Documentation>
2+
<Docs DocId="P:CoreMidi.Midi.NetworkNotificationContactsDidChange">
3+
<summary>Notification raised when the MIDI network has changed.</summary>
4+
<value>
5+
</value>
6+
<remarks>
7+
<para id="tool-remark">This constant can be used with the <see cref="T:Foundation.NSNotificationCenter" /> to register a listener for this notification. This is an NSString instead of a string, because these values can be used as tokens in some native libraries instead of being used purely for their actual string content. The 'notification' parameter to the callback contains extra information that is specific to the notification type.</para>
8+
<para id="tool-remark">If you want to subscribe to this notification, you can use the convenience <see cref="T:MediaPlayer.MPMediaLibrary.Notifications" />.<see cref="M:CoreMidi.Midi.Notifications.ObserveNetworkNotificationContactsDidChange(Foundation.NSObject,System.EventHandler{Foundation.NSNotificationEventArgs})" /> method which offers strongly typed access to the parameters of the notification.</para>
9+
<para>The following example shows how to use the strongly typed Notifications class, to take the guesswork out of the available properties in the notification:</para>
10+
<example>
11+
<code lang="csharp lang-csharp"><![CDATA[
12+
//
13+
// Lambda style
14+
//
15+
16+
// listening
17+
notification = Midi.Notifications.ObserveNetworkNotificationContactsDidChange ((sender, args) => {
18+
/* Access strongly typed args */
19+
Console.WriteLine ("Notification: {0}", args.Notification);
20+
});
21+
22+
// To stop listening:
23+
notification.Dispose ();
24+
25+
//
26+
// Method style
27+
//
28+
NSObject notification;
29+
void Callback (object sender, Foundation.NSNotificationEventArgs args)
30+
{
31+
// Access strongly typed args
32+
Console.WriteLine ("Notification: {0}", args.Notification);
33+
}
34+
35+
void Setup ()
36+
{
37+
notification = Midi.Notifications.ObserveNetworkNotificationContactsDidChange (Callback);
38+
}
39+
40+
void Teardown ()
41+
{
42+
notification.Dispose ();
43+
}]]></code>
44+
</example>
45+
<para>The following example shows how to use the notification with the DefaultCenter API:</para>
46+
<example>
47+
<code lang="csharp lang-csharp"><![CDATA[
48+
// Lambda style
49+
NSNotificationCenter.DefaultCenter.AddObserver (
50+
Midi.NetworkNotificationContactsDidChange, (notification) => {Console.WriteLine ("Received the notification Midi", notification); }
51+
52+
53+
// Method style
54+
void Callback (NSNotification notification)
55+
{
56+
Console.WriteLine ("Received a notification Midi", notification);
57+
}
58+
59+
void Setup ()
60+
{
61+
NSNotificationCenter.DefaultCenter.AddObserver (Midi.NetworkNotificationContactsDidChange, Callback);
62+
}
63+
]]></code>
64+
</example>
65+
</remarks>
66+
</Docs>
67+
<Docs DocId="P:CoreMidi.Midi.NetworkNotificationSessionDidChange">
68+
<summary>Notification raised when the MIDI session has changed</summary>
69+
<value>
70+
</value>
71+
<remarks>
72+
<para id="tool-remark">This constant can be used with the <see cref="T:Foundation.NSNotificationCenter" /> to register a listener for this notification. This is an NSString instead of a string, because these values can be used as tokens in some native libraries instead of being used purely for their actual string content. The 'notification' parameter to the callback contains extra information that is specific to the notification type.</para>
73+
<para id="tool-remark">If you want to subscribe to this notification, you can use the convenience <see cref="T:MediaPlayer.MPMediaLibrary.Notifications" />.<see cref="M:CoreMidi.Midi.Notifications.ObserveNetworkNotificationSessionDidChange(Foundation.NSObject,System.EventHandler{Foundation.NSNotificationEventArgs})" /> method which offers strongly typed access to the parameters of the notification.</para>
74+
<para>The following example shows how to use the strongly typed Notifications class, to take the guesswork out of the available properties in the notification:</para>
75+
<example>
76+
<code lang="csharp lang-csharp"><![CDATA[
77+
//
78+
// Lambda style
79+
//
80+
81+
// listening
82+
notification = Midi.Notifications.ObserveNetworkNotificationSessionDidChange ((sender, args) => {
83+
/* Access strongly typed args */
84+
Console.WriteLine ("Notification: {0}", args.Notification);
85+
});
86+
87+
// To stop listening:
88+
notification.Dispose ();
89+
90+
//
91+
// Method style
92+
//
93+
NSObject notification;
94+
void Callback (object sender, Foundation.NSNotificationEventArgs args)
95+
{
96+
// Access strongly typed args
97+
Console.WriteLine ("Notification: {0}", args.Notification);
98+
}
99+
100+
void Setup ()
101+
{
102+
notification = Midi.Notifications.ObserveNetworkNotificationSessionDidChange (Callback);
103+
}
104+
105+
void Teardown ()
106+
{
107+
notification.Dispose ();
108+
}]]></code>
109+
</example>
110+
<para>The following example shows how to use the notification with the DefaultCenter API:</para>
111+
<example>
112+
<code lang="csharp lang-csharp"><![CDATA[
113+
// Lambda style
114+
NSNotificationCenter.DefaultCenter.AddObserver (
115+
Midi.NetworkNotificationSessionDidChange, (notification) => {Console.WriteLine ("Received the notification Midi", notification); }
116+
117+
118+
// Method style
119+
void Callback (NSNotification notification)
120+
{
121+
Console.WriteLine ("Received a notification Midi", notification);
122+
}
123+
124+
void Setup ()
125+
{
126+
NSNotificationCenter.DefaultCenter.AddObserver (Midi.NetworkNotificationSessionDidChange, Callback);
127+
}
128+
]]></code>
129+
</example>
130+
</remarks>
131+
</Docs>
132+
</Documentation>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<Documentation>
2+
<Docs DocId="P:MultipeerConnectivity.MCAdvertiserAssistant.DiscoveryInfo">
3+
<summary>A small dictionary of data available to browsers.</summary>
4+
<value>This will contain the data passed in to the <format type="text/html"><a href="https://docs.microsoft.com/en-us/search/index?search=C:MultipeerConnectivity.MCAdvertiserAssistant(string,Foundation.NSDictionary, MultipeerConnectivity.MCSession)&amp;scope=Xamarin" title="C:MultipeerConnectivity.MCAdvertiserAssistant(string,Foundation.NSDictionary, MultipeerConnectivity.MCSession)">C:MultipeerConnectivity.MCAdvertiserAssistant(string,Foundation.NSDictionary, MultipeerConnectivity.MCSession)</a></format> constructor.</value>
5+
<remarks>
6+
<para>The total size of keys and data in this dictionary should be less than ~400 bytes so that it can fit into a single Bluetooth data packet.</para>
7+
<para>The dictionary should map <see langword="string" />s to <see langword="string" />s. Each key-value pair must be no more than 255 bytes with the equals sign inserted between them (i.e., <c>System.Text.ASCIIEncoding.Unicode.GetByteCount(String.Format("{0}={1}",key,value)) &lt;= 255 </c>). Keys may not contain equals signs.</para>
8+
<para>The dictionary is advertised as a Bonjour TXT record (see <format type="text/html"><a href="https://tools.ietf.org/html/rfc6763">RFC 6763, Section 6</a></format>).</para>
9+
</remarks>
10+
</Docs>
11+
</Documentation>

0 commit comments

Comments
 (0)