Custom providers implementation

Submitted 6/1/2012 by Support

eStreamChat uses the Dependency Injection (DI) design pattern which allows you to inject custom implementation logic in the software.

There are several provider interfaces that you can implement depending on what functionality you need to customize. A brief overview of each interface is available below. You can click on an interface for more detailed information.

  • IChatUserProvider - handles user authorization, getting currently logged user, getting user details and photos, ignoring other users, getting administrators
  • IMessengerPresenceProvider - handles sending and receiving of chat requests and keeping track of online users
  • IChatRoomProvider - handles getting available chat rooms, getting chat room details, banning users and keeping track of who has access to specific chat rooms
  • IChatRoomStorage - handles entering and leaving of a chat room, users currently in rooms, removing inactive users, public messages, audio/video broadcasts
  • IChatSettings - handles the settings - whether file sending is allowed, is video chat enabled, etc
  • ILogger - used for debug logging

To add your own logic you would need to reference the eStreamChat.Interfaces library in your project and then add the implementation of the corresponding interface. Once the implementation is completed you should copy your .dll file to the Providers folder of eStreamChat and update the provider reference in the web.config file.