cn.tee3.avd_SDK-C++  2.1.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:
21  public:
22  bool isValid() const { return !userId.empty(); }
23  User() : nodeId(0) {}
24  };
26  typedef std::vector<User> UsersType;
27 
34  public:
40  class IListener {
41  public:
43 
50  virtual void onUserJoinNotify(const User& user) = 0;
58  virtual void onUserLeaveNotify(const User& user) = 0;
66  virtual void onUserUpdateNotify(const User& user) = 0;
77  virtual void onUserStatusNotify(UserStatus status, const UserId& fromId) = 0;
88  virtual void onUserDataNotify(const String& userData, const UserId& fromId) = 0;
89 
90  protected:
91  virtual ~IListener() {}
92  };
93  public:
100  static IMUserManager* getUserManager(IRoom* room);
101 
102  //
110  virtual Result setListener(IListener* listener) = 0;
111 
118  virtual Result updateUser(const User& user) = 0;
125  virtual bool hasUser(const UserId& userId) const = 0;
132  virtual const User& getUser(const UserId& userId) const = 0;
136  virtual const User& getHost() const = 0;
140  virtual const User& getSelfUser() const = 0;
144  virtual const UserId& getSelfUserId() const = 0;
148  virtual const String& getSelfUserData() const = 0;
154  virtual Result updateSelfUserData(const String& userData) = 0;
160  virtual Result updateSelfUserStatus(uint32 status) = 0;
164  virtual uint32 getParticipantsCount() const = 0;
173  virtual Result getParticipants(uint32 begindex, uint32& ncount, UsersType& users) = 0;
174 
175  protected:
176  virtual ~IMUserManager() {}
177  };
178 
179  } // namespace avd
180 } // namespace tee3
181 #endif//RT_UserManager_H_
用户管理接口类
Definition: musermanager.h:33
String UserId
用户号类型,唯一标识房间内一个用户,长度不大于Max_UserId定义;由应用层定义传递给AVD SDK,要求保证房间...
Definition: common.h:13
int Result
返回值类型
Definition: combase.h:9
uint32 nodeId
Definition: musermanager.h:20
用户管理回调接口类
Definition: musermanager.h:40
用户状态结构.
Definition: combase.h:236
#define RT_API_EXPORT
Definition: defines.h:186
unsigned int uint32
Definition: defines.h:391
UserStatus status
用户状态集合
Definition: musermanager.h:17
std::string String
tee3定义的String类型
Definition: common.h:10
bool isValid() const
Definition: musermanager.h:22
UserId userId
用户Id,应用层可设置
Definition: musermanager.h:16
User()
Definition: musermanager.h:23
String userName
用户名称,应用层设置
Definition: musermanager.h:18
房间接口类
Definition: room.h:17
virtual ~IListener()
Definition: musermanager.h:91
用户数据结构.用户集合类型
Definition: musermanager.h:14
std::vector< User > UsersType
Definition: musermanager.h:26
virtual ~IMUserManager()
Definition: musermanager.h:176
Definition: audiocapture.h:5
String userData
用户数据,应用层设置
Definition: musermanager.h:19