C++SDK  1.0.0
musermanager.h
浏览该文件的文档.
1 #ifndef RT_UserManager_H_
2 #define RT_UserManager_H_
3 
4 #include "common.h"
5 
6 namespace tee3 {
7  namespace avd {
8  class IRoom;
14  class User {
15  public:
20  String userAgent; /*设备类型默认有这几种:win,linux,android,osx,ios* 如果为空则使用默认的,可以填入自定义的*/
22  public:
23  bool isValid() const { return !userId.empty(); }
24  User() : nodeId(0) {}
25  };
27  typedef std::vector<User> UsersType;
28 
35  public:
41  class IListener {
42  public:
44 
51  virtual void onUserJoinNotify(const User& user) = 0;
59  virtual void onUserLeaveNotify(const User& user) = 0;
67  virtual void onUserUpdateNotify(const User& user) = 0;
78  virtual void onUserStatusNotify(UserStatus status, const UserId& fromId) = 0;
89  virtual void onUserDataNotify(const String& userData, const UserId& fromId) = 0;
90 
91  protected:
92  virtual ~IListener() {}
93  };
94  public:
101  static IMUserManager* getUserManager(IRoom* room);
102 
103  //
111  virtual Result setListener(IListener* listener) = 0;
112 
119  virtual Result updateUser(const User& user) = 0;
127  virtual Result updateUserName(const UserId& userId,const tee3::String& newUserName) = 0;
134  virtual bool hasUser(const UserId& userId) const = 0;
141  virtual const User& getUser(const UserId& userId) const = 0;
145  virtual const User& getHost() const = 0;
149  virtual const User& getSelfUser() const = 0;
153  virtual const UserId& getSelfUserId() const = 0;
157  virtual const String& getSelfUserData() const = 0;
163  virtual Result updateSelfUserData(const String& userData) = 0;
169  virtual Result updateSelfUserStatus(uint32 status) = 0;
173  virtual uint32 getParticipantsCount() const = 0;
182  virtual Result getParticipants(uint32 begindex, uint32& ncount, UsersType& users) = 0;
183 
184  protected:
185  virtual ~IMUserManager() {}
186  };
187 
188  } // namespace avd
189 } // namespace tee3
190 #endif//RT_UserManager_H_
NAMESPACE_TEE3_BEGIN typedef std::string String
Definition: common.h:10
UserStatus status
Definition: musermanager.h:17
String UserId
Definition: common.h:13
int Result
Definition: combase.h:13
Definition: combase.h:248
Definition: room.h:17
Definition: musermanager.h:41
#define RT_API_EXPORT
Definition: defines.h:188
String userData
Definition: musermanager.h:19
unsigned int uint32
Definition: defines.h:393
bool isValid() const
Definition: musermanager.h:23
virtual ~IMUserManager()
Definition: musermanager.h:185
Definition: musermanager.h:14
String userName
Definition: musermanager.h:18
uint32 nodeId
Definition: musermanager.h:21
Definition: musermanager.h:34
User()
Definition: musermanager.h:24
virtual ~IListener()
Definition: musermanager.h:92
std::vector< User > UsersType
Definition: musermanager.h:27
String userAgent
Definition: musermanager.h:20
Definition: audiocapture.h:5
UserId userId
Definition: musermanager.h:16