rendered paste body public void SetCapabilities (ContactCapabilities caps)
{
ChannelMediaCapability media_caps = 0;
bool has_media = false;
if ((caps & ContactCapabilities.Audio) == ContactCapabilities.Audio) {
media_caps = ChannelMediaCapability.Audio;
has_media = true;
}
if ((caps & ContactCapabilities.Video) == ContactCapabilities.Video) {
media_caps = media_caps | ChannelMediaCapability.Video;
has_media = true;
}
LocalCapabilityInfo[] info = new LocalCapabilityInfo[(has_media?2:1)];
if ((caps & ContactCapabilities.Text) == ContactCapabilities.Text) {
info[0].ChannelType = (string) org.freedesktop.Telepathy.ChannelType.Text;
}
if (has_media) {
info[1].ChannelType = (string) org.freedesktop.Telepathy.ChannelType.StreamedMedia;
info[1].TypeSpecificFlags = media_caps;
}
connection.TlpConnection.AdvertiseCapabilities (info, new string[0]);
}