All Classes Functions Variables Typedefs Friends Pages
IGroup.h
1 //------------------------------------------------------------------------------
2 //
3 // Copyright (c) 2012 Glympse Inc. All rights reserved.
4 //
5 //------------------------------------------------------------------------------
6 
7 #ifndef IGROUP_H__GLYMPSE__
8 #define IGROUP_H__GLYMPSE__
9 
10 namespace Glympse
11 {
12 
16 /*O*public**/ struct IGroup : public IEventSink
17 {
21  public: virtual GString getId() = 0;
22 
26  public: virtual int32 getState() = 0;
27 
31  public: virtual GString getName() = 0;
32 
36  public: virtual GImage getAvatar() = 0;
37 
41  public: virtual GArray<GGroupMember>::ptr getMembers() = 0;
42 
46  public: virtual GArray<GGroupMember>::ptr getMembers(bool sorted) = 0;
47 
51  public: virtual GArray<GInvite>::ptr getInvites() = 0;
52 
58  public: virtual void clearInvites() = 0;
59 
67  public: virtual GGroupMember findMemberByUserId(const GString& userId) = 0;
68 
73  public: virtual void modify(const GString& name, const GImage& avatar) = 0;
74 
82  public: virtual bool send(const GInvite& invite, const GString& message) = 0;
83 
87  public: virtual void leave() = 0;
88 };
89 
90 /*C*/typedef O< IGroup > GGroup;
91 
92 }
93 
94 #endif // !IGROUP_H__GLYMPSE__