You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
linphone-tutorials/uwp/cs/06_GroupChat
Florent c822edad28
fix event enum
2 years ago
..
Assets Tutorial for LinphoneSDK x UWP - C# 3 years ago
Controls fix event enum 2 years ago
Properties Tutorial for LinphoneSDK x UWP - C# 3 years ago
Service Give the UWP Tutorial a little refresher 3 years ago
Shared Give the UWP Tutorial a little refresher 3 years ago
Views Give the UWP Tutorial a little refresher 3 years ago
06_GroupChat.csproj Give the UWP Tutorial a little refresher 3 years ago
App.xaml Tutorial for LinphoneSDK x UWP - C# 3 years ago
App.xaml.cs Tutorial for LinphoneSDK x UWP - C# 3 years ago
Package.appxmanifest Tutorial for LinphoneSDK x UWP - C# 3 years ago
Readme.md Give the UWP Tutorial a little refresher 3 years ago

Readme.md

Linphone X UWP tutorial 06_group_chat

In this step we will tackle two new concepts: group chats and multipart messages. To enable those new features we are going to use Flexisip as a backend (see group ChatRoom creation). Flexisip is a complete and modular SIP server suite. If you need more informations about Flexisip you can read this Flexisip presentation or Contact us.

We will create a new page so you can prepare your participant list before creating a group chat, see CreateGroupChatRoom.xaml(.cs) and CoreService.cs to learn how to create group chats.

We will update the ChatPage.xaml(.cs) and the MessageDisplay.xaml(cs) so you can send and display multipart messages correctly. Multipart messages are allowed by default in flexisip, you can try it right now in a group chat room. In a group ChatRoom some events that can occur (subject change, admin status modification...) will also be displayed. See EventDisplay.xaml(.cs). And lastly we will change the way we display the ChatRoom in the list (ChatsPage.xml). See ChatRoomToStringConverter.cs.

New/updated files :

06_group_chat

└───Controls :
│   │   ContentDisplay.xaml(.cs) : Inner control now used in MessageDisplay. Contains the code to display
│   │               one Linphone.Content object. 
│   │
│   │   EventDisplay.xaml(.cs) : Inner control used in ChatPage to display all events that
│   │               are not messages. 
│   │
│   │   GroupChatDisplay.xaml(.cs) : A control used in the ChatPage to display the participant list
│   │               and some group chat controls. 
│   │
│   │   MessageDisplay.xaml(.cs) : A user control to display chat bubbles with more
│   │               information. Improved from the previous step to display all the 
│   │               contents of multipart messages (using ContentDisplay).
│   │
│
└───Service :
│   │   CoreService.cs : A singleton service which contains the Linphone.Core. 
│   │               Take a look at the LogIn method to see how to setup a conference factory.
│
└───Shared :
│   │   ChatRoomToStringConverter.cs : a class that implements IValueConverter to display 
│   │               the chat room name depending on its type.
│   │
│   │   Utils.cs : Utility class to gather static methods used in different other classes.
│
└───Views :
│   │    
│   │   ChatPage.xaml(.cs) : This is the frame displayed when you select a chat room.     
│   │               You can now send and receive multipart when you are in a group chat room.
│   │               And when you open a group chat room you have access to a new menu with
│   │               the participants list and new controls (see GroupChatDisplay).
│   │     
│   │   ChatsPage.xaml(.cs) : ChatRoom list, updated to display different information according
│   │               to the chat room type (also see ChatRoomToStringConverter.cs)
│   │        
│   │