-
Notifications
You must be signed in to change notification settings - Fork 24
/
PublishSubscribeSession.xml
318 lines (318 loc) · 21.7 KB
/
PublishSubscribeSession.xml
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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
<Type Name="PublishSubscribeSession" FullName="Microsoft.Rtc.Collaboration.Presence.PublishSubscribeSession">
<TypeSignature Language="C#" Value="public abstract class PublishSubscribeSession" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi abstract beforefieldinit PublishSubscribeSession extends System.Object" />
<TypeSignature Language="DocId" Value="T:Microsoft.Rtc.Collaboration.Presence.PublishSubscribeSession" />
<TypeSignature Language="VB.NET" Value="Public MustInherit Class PublishSubscribeSession" />
<TypeSignature Language="C++ CLI" Value="public ref class PublishSubscribeSession abstract" />
<TypeSignature Language="F#" Value="type PublishSubscribeSession = class" />
<AssemblyInfo>
<AssemblyName>Microsoft.Rtc.Collaboration</AssemblyName>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces />
<Docs>
<summary>
The PublishSubscribeSession class provides a simplified wrapper to establish and terminate subscription and to process the
<see cref="T:Microsoft.Rtc.Signaling.SipSubscription" /> events. It also handles service requests asynchronously.
</summary>
<remarks>
<para>
This is the base class for the <see cref="T:Microsoft.Rtc.Collaboration.Presence.LocalOwnerPresence" /> and <see cref="T:Microsoft.Rtc.Collaboration.ContactsGroups.ContactGroupServices" /> classes.
<see cref="T:Microsoft.Rtc.Collaboration.Presence.PublishSubscribeSession" /> provides common operations to create, refresh, and terminate subscriptions. It internally creates
and manages a <see cref="T:Microsoft.Rtc.Signaling.SipSubscription" /> dialog to the Microsoft Communications Server server.
</para>
<para />
</remarks>
</Docs>
<Members>
<Member MemberName="BeginRefresh">
<MemberSignature Language="C#" Value="public virtual IAsyncResult BeginRefresh (AsyncCallback userCallback, object state);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.IAsyncResult BeginRefresh(class System.AsyncCallback userCallback, object state) cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Rtc.Collaboration.Presence.PublishSubscribeSession.BeginRefresh(System.AsyncCallback,System.Object)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Function BeginRefresh (userCallback As AsyncCallback, state As Object) As IAsyncResult" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual IAsyncResult ^ BeginRefresh(AsyncCallback ^ userCallback, System::Object ^ state);" />
<MemberSignature Language="F#" Value="abstract member BeginRefresh : AsyncCallback * obj -> IAsyncResult
override this.BeginRefresh : AsyncCallback * obj -> IAsyncResult" Usage="publishSubscribeSession.BeginRefresh (userCallback, state)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Rtc.Collaboration</AssemblyName>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.IAsyncResult</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="userCallback" Type="System.AsyncCallback" />
<Parameter Name="state" Type="System.Object" />
</Parameters>
<Docs>
<param name="userCallback">The method to be called when the asynchronous operation is completed.</param>
<param name="state">A user-provided object that distinguishes this particular asynchronous operation from other asynchronous operations.</param>
<summary>
Begins an asynchronous operation to refresh the underlying subscription.
</summary>
<returns>An IAsyncResult that references the asynchronous operation.</returns>
<remarks>To be added.</remarks>
<exception cref="T:System.InvalidOperationException">Thrown when this method is invoked before the subscription is established.</exception>
</Docs>
</Member>
<Member MemberName="BeginSubscribe">
<MemberSignature Language="C#" Value="public virtual IAsyncResult BeginSubscribe (AsyncCallback userCallback, object state);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.IAsyncResult BeginSubscribe(class System.AsyncCallback userCallback, object state) cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Rtc.Collaboration.Presence.PublishSubscribeSession.BeginSubscribe(System.AsyncCallback,System.Object)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Function BeginSubscribe (userCallback As AsyncCallback, state As Object) As IAsyncResult" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual IAsyncResult ^ BeginSubscribe(AsyncCallback ^ userCallback, System::Object ^ state);" />
<MemberSignature Language="F#" Value="abstract member BeginSubscribe : AsyncCallback * obj -> IAsyncResult
override this.BeginSubscribe : AsyncCallback * obj -> IAsyncResult" Usage="publishSubscribeSession.BeginSubscribe (userCallback, state)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Rtc.Collaboration</AssemblyName>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.IAsyncResult</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="userCallback" Type="System.AsyncCallback" />
<Parameter Name="state" Type="System.Object" />
</Parameters>
<Docs>
<param name="userCallback">The method to be called when the asynchronous operation is completed.</param>
<param name="state">A user-provided object that distinguishes this particular asynchronous operation from other asynchronous operations.</param>
<summary>
Begins an asynchronous operation to subscribe to the presence session.
</summary>
<returns>An IAsyncResult that references the asynchronous operation.</returns>
<remarks>
<para>UCMA allows subscription to be reused. Hence, the application can re-subscribe to the same subscription
after it has been unsubscribed.</para>
<para />
</remarks>
<exception cref="T:System.InvalidOperationException">Thrown when the subscription is not in a valid state.</exception>
</Docs>
</Member>
<Member MemberName="BeginUnsubscribe">
<MemberSignature Language="C#" Value="public virtual IAsyncResult BeginUnsubscribe (AsyncCallback userCallback, object state);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.IAsyncResult BeginUnsubscribe(class System.AsyncCallback userCallback, object state) cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Rtc.Collaboration.Presence.PublishSubscribeSession.BeginUnsubscribe(System.AsyncCallback,System.Object)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Function BeginUnsubscribe (userCallback As AsyncCallback, state As Object) As IAsyncResult" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual IAsyncResult ^ BeginUnsubscribe(AsyncCallback ^ userCallback, System::Object ^ state);" />
<MemberSignature Language="F#" Value="abstract member BeginUnsubscribe : AsyncCallback * obj -> IAsyncResult
override this.BeginUnsubscribe : AsyncCallback * obj -> IAsyncResult" Usage="publishSubscribeSession.BeginUnsubscribe (userCallback, state)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Rtc.Collaboration</AssemblyName>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.IAsyncResult</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="userCallback" Type="System.AsyncCallback" />
<Parameter Name="state" Type="System.Object" />
</Parameters>
<Docs>
<param name="userCallback">The method to be called when the asynchronous operation is completed.</param>
<param name="state">A user-provided object that distinguishes this particular asynchronous operation from other asynchronous operations.</param>
<summary>
Begins an asynchronous operation to unsubscribe the underlying subscription.
</summary>
<returns>An IAsyncResult that references the asynchronous operation.</returns>
<remarks>
<para>If no underlying subscription exists, then this operation completes immediately.</para>
<para />
</remarks>
</Docs>
</Member>
<Member MemberName="CurrentState">
<MemberSignature Language="C#" Value="public Microsoft.Rtc.Collaboration.Presence.CollaborationSubscriptionState CurrentState { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype Microsoft.Rtc.Collaboration.Presence.CollaborationSubscriptionState CurrentState" />
<MemberSignature Language="DocId" Value="P:Microsoft.Rtc.Collaboration.Presence.PublishSubscribeSession.CurrentState" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property CurrentState As CollaborationSubscriptionState" />
<MemberSignature Language="C++ CLI" Value="public:
 property Microsoft::Rtc::Collaboration::Presence::CollaborationSubscriptionState CurrentState { Microsoft::Rtc::Collaboration::Presence::CollaborationSubscriptionState get(); };" />
<MemberSignature Language="F#" Value="member this.CurrentState : Microsoft.Rtc.Collaboration.Presence.CollaborationSubscriptionState" Usage="Microsoft.Rtc.Collaboration.Presence.PublishSubscribeSession.CurrentState" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Rtc.Collaboration</AssemblyName>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Microsoft.Rtc.Collaboration.Presence.CollaborationSubscriptionState</ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets the state of the subscription.
</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="EndRefresh">
<MemberSignature Language="C#" Value="public virtual void EndRefresh (IAsyncResult result);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void EndRefresh(class System.IAsyncResult result) cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Rtc.Collaboration.Presence.PublishSubscribeSession.EndRefresh(System.IAsyncResult)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Sub EndRefresh (result As IAsyncResult)" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual void EndRefresh(IAsyncResult ^ result);" />
<MemberSignature Language="F#" Value="abstract member EndRefresh : IAsyncResult -> unit
override this.EndRefresh : IAsyncResult -> unit" Usage="publishSubscribeSession.EndRefresh result" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Rtc.Collaboration</AssemblyName>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="result" Type="System.IAsyncResult" />
</Parameters>
<Docs>
<param name="result">The reference to the pending asynchronous operation.</param>
<summary>
Ends the Refresh Operation initiated by BeginRefresh.
</summary>
<remarks>To be added.</remarks>
<exception cref="T:System.ArgumentException">Thrown when the argument passed is null or invalid.</exception>
<exception cref="T:System.InvalidOperationException">Thrown when this method is invoked multiple times using the same result.</exception>
<exception cref="T:Microsoft.Rtc.Signaling.PublishSubscribeException">Thrown when the SIP SERVICE request is rejected by the server.</exception>
<exception cref="T:Microsoft.Rtc.Signaling.RealTimeException">Thrown when SIP Transport, SIP authentication and credential-related errors are encountered.</exception>
</Docs>
</Member>
<Member MemberName="EndSubscribe">
<MemberSignature Language="C#" Value="public virtual void EndSubscribe (IAsyncResult result);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void EndSubscribe(class System.IAsyncResult result) cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Rtc.Collaboration.Presence.PublishSubscribeSession.EndSubscribe(System.IAsyncResult)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Sub EndSubscribe (result As IAsyncResult)" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual void EndSubscribe(IAsyncResult ^ result);" />
<MemberSignature Language="F#" Value="abstract member EndSubscribe : IAsyncResult -> unit
override this.EndSubscribe : IAsyncResult -> unit" Usage="publishSubscribeSession.EndSubscribe result" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Rtc.Collaboration</AssemblyName>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="result" Type="System.IAsyncResult" />
</Parameters>
<Docs>
<param name="result">The reference to the pending asynchronous operation.</param>
<summary>
Ends the Subscribe operation initiated by BeginSubscribe.
</summary>
<remarks>To be added.</remarks>
<exception cref="T:System.ArgumentException">Thrown when the argument passed is null or invalid.</exception>
<exception cref="T:System.InvalidOperationException">Thrown when this method is invoked multiple times using the same result.</exception>
<exception cref="T:Microsoft.Rtc.Signaling.OperationFailureException">Thrown when the endpoint or session is in an invalid state during the operation.</exception>
<exception cref="T:Microsoft.Rtc.Signaling.PublishSubscribeException">Thrown when the SIP SERVICE request is rejected by the server.</exception>
<exception cref="T:Microsoft.Rtc.Signaling.RealTimeException">Thrown when SIP Transport, SIP authentication and credential-related errors are encountered.</exception>
</Docs>
</Member>
<Member MemberName="EndUnsubscribe">
<MemberSignature Language="C#" Value="public virtual void EndUnsubscribe (IAsyncResult result);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void EndUnsubscribe(class System.IAsyncResult result) cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Rtc.Collaboration.Presence.PublishSubscribeSession.EndUnsubscribe(System.IAsyncResult)" />
<MemberSignature Language="VB.NET" Value="Public Overridable Sub EndUnsubscribe (result As IAsyncResult)" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual void EndUnsubscribe(IAsyncResult ^ result);" />
<MemberSignature Language="F#" Value="abstract member EndUnsubscribe : IAsyncResult -> unit
override this.EndUnsubscribe : IAsyncResult -> unit" Usage="publishSubscribeSession.EndUnsubscribe result" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Rtc.Collaboration</AssemblyName>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="result" Type="System.IAsyncResult" />
</Parameters>
<Docs>
<param name="result">The reference to the pending asynchronous operation.</param>
<summary>
Ends the asynchronous operation started by BeginUnsubscribe method.
</summary>
<remarks>To be added.</remarks>
<exception cref="T:System.ArgumentException">Thrown when the argument passed is null or invalid.</exception>
<exception cref="T:System.InvalidOperationException">Thrown when this method is invoked multiple times using the same result.</exception>
<exception cref="T:Microsoft.Rtc.Signaling.PublishSubscribeException">Thrown when the SIP SERVICE request is rejected by the server.</exception>
<exception cref="T:Microsoft.Rtc.Signaling.RealTimeException">Thrown when SIP Transport, SIP authentication and credential-related errors are encountered.</exception>
</Docs>
</Member>
<Member MemberName="IsSubscriptionActive">
<MemberSignature Language="C#" Value="public bool IsSubscriptionActive { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool IsSubscriptionActive" />
<MemberSignature Language="DocId" Value="P:Microsoft.Rtc.Collaboration.Presence.PublishSubscribeSession.IsSubscriptionActive" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property IsSubscriptionActive As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:
 property bool IsSubscriptionActive { bool get(); };" />
<MemberSignature Language="F#" Value="member this.IsSubscriptionActive : bool" Usage="Microsoft.Rtc.Collaboration.Presence.PublishSubscribeSession.IsSubscriptionActive" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Rtc.Collaboration</AssemblyName>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.Obsolete("This property will be removed from future versions. Use the property 'CurrentState' instead.")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets whether the session has an active underlying subscription.
</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="SubscriberEndpoint">
<MemberSignature Language="C#" Value="public Microsoft.Rtc.Collaboration.LocalEndpoint SubscriberEndpoint { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class Microsoft.Rtc.Collaboration.LocalEndpoint SubscriberEndpoint" />
<MemberSignature Language="DocId" Value="P:Microsoft.Rtc.Collaboration.Presence.PublishSubscribeSession.SubscriberEndpoint" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property SubscriberEndpoint As LocalEndpoint" />
<MemberSignature Language="C++ CLI" Value="public:
 property Microsoft::Rtc::Collaboration::LocalEndpoint ^ SubscriberEndpoint { Microsoft::Rtc::Collaboration::LocalEndpoint ^ get(); };" />
<MemberSignature Language="F#" Value="member this.SubscriberEndpoint : Microsoft.Rtc.Collaboration.LocalEndpoint" Usage="Microsoft.Rtc.Collaboration.Presence.PublishSubscribeSession.SubscriberEndpoint" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Rtc.Collaboration</AssemblyName>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Microsoft.Rtc.Collaboration.LocalEndpoint</ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets the endpoint that the subscription belongs to.
</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="SubscriptionStateChange">
<MemberSignature Language="C#" Value="public event EventHandler<Microsoft.Rtc.Collaboration.Presence.PresenceSubscriptionStateChangedEventArgs> SubscriptionStateChange;" />
<MemberSignature Language="ILAsm" Value=".event class System.EventHandler`1<class Microsoft.Rtc.Collaboration.Presence.PresenceSubscriptionStateChangedEventArgs> SubscriptionStateChange" />
<MemberSignature Language="DocId" Value="E:Microsoft.Rtc.Collaboration.Presence.PublishSubscribeSession.SubscriptionStateChange" />
<MemberSignature Language="VB.NET" Value="Public Custom Event SubscriptionStateChange As EventHandler(Of PresenceSubscriptionStateChangedEventArgs) " />
<MemberSignature Language="C++ CLI" Value="public:
 event EventHandler<Microsoft::Rtc::Collaboration::Presence::PresenceSubscriptionStateChangedEventArgs ^> ^ SubscriptionStateChange;" />
<MemberSignature Language="F#" Value="member this.SubscriptionStateChange : EventHandler<Microsoft.Rtc.Collaboration.Presence.PresenceSubscriptionStateChangedEventArgs> " Usage="member this.SubscriptionStateChange : System.EventHandler<Microsoft.Rtc.Collaboration.Presence.PresenceSubscriptionStateChangedEventArgs> " />
<MemberType>Event</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Rtc.Collaboration</AssemblyName>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.EventHandler<Microsoft.Rtc.Collaboration.Presence.PresenceSubscriptionStateChangedEventArgs></ReturnType>
</ReturnValue>
<Docs>
<summary>
Raised when there are changes in the underlying subscription state.
</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
</Members>
</Type>