SmartFoxServer 2X C++ API
IBuddyManager.h
1 // ===================================================================
2 //
3 // Description
4 // Contains the definition of IBuddyManager interface
5 //
6 // Revision history
7 // Date Description
8 // 30-Nov-2012 First version
9 //
10 // ===================================================================
11 #ifndef __IBuddyManager__
12 #define __IBuddyManager__
13 
14 #include "../Variables/BuddyVariable.h"
15 #include "../Buddy.h"
16 
17 #include <boost/shared_ptr.hpp> // Boost Asio shared pointer
18 
19 #if defined(_MSC_VER)
20 #pragma warning(disable:4786) // STL library: disable warning 4786; this warning is generated due to a Microsoft bug
21 #endif
22 #include <string> // STL library: string object
23 #include <list> // STL library: list object
24 using namespace std; // STL library: declare the STL namespace
25 
26 using namespace Sfs2X;
27 using namespace Sfs2X::Entities;
28 using namespace Sfs2X::Entities::Variables;
29 
30 namespace Sfs2X {
31 namespace Entities {
32 namespace Managers {
33 
37  class DLLImportExport IBuddyManager
38  {
39  public:
47  virtual bool Inited() = 0;
48 
56  virtual void Inited(bool value) = 0;
57 
58  virtual void AddBuddy(boost::shared_ptr<Buddy> buddy) = 0;
59 
60  virtual boost::shared_ptr<Buddy> RemoveBuddyById(long int id) = 0;
61 
62  virtual boost::shared_ptr<Buddy> RemoveBuddyByName(string name) = 0;
63 
74  virtual bool ContainsBuddy(string name) = 0;
75 
86  virtual boost::shared_ptr<Buddy> GetBuddyById(long int id) = 0;
87 
97  virtual boost::shared_ptr<Buddy> GetBuddyByName(string name) = 0;
98 
109  virtual boost::shared_ptr<Buddy> GetBuddyByNickName(string nickName) = 0;
110 
114  virtual boost::shared_ptr<vector<boost::shared_ptr<Buddy> > > OfflineBuddies() = 0;
115 
119  virtual boost::shared_ptr<vector<boost::shared_ptr<Buddy> > > OnlineBuddies() = 0;
120 
125  virtual boost::shared_ptr<vector<boost::shared_ptr<Buddy> > > BuddyList() = 0;
126 
130  virtual boost::shared_ptr<vector<string> > BuddyStates() = 0;
131 
135  virtual void BuddyStates(boost::shared_ptr<vector<string> > value) = 0;
136 
146  virtual boost::shared_ptr<BuddyVariable> GetMyVariable(boost::shared_ptr<string> varName) = 0;
147 
157  virtual boost::shared_ptr<BuddyVariable> GetMyVariable(string varName) = 0;
158 
166  virtual boost::shared_ptr<vector<boost::shared_ptr<BuddyVariable> > > MyVariables() = 0;
167 
175  virtual void MyVariables(boost::shared_ptr<vector<boost::shared_ptr<BuddyVariable> > > value) = 0;
176 
187  virtual bool MyOnlineState() = 0;
188 
199  virtual void MyOnlineState(bool value) = 0;
200 
211  virtual boost::shared_ptr<string> MyNickName() = 0;
212 
223  virtual void MyNickName(string value) = 0;
224 
233  virtual boost::shared_ptr<string> MyState() = 0;
234 
243  virtual void MyState(string value) = 0;
244 
245  virtual void SetMyVariable(boost::shared_ptr<BuddyVariable> bVar) = 0;
246 
247  virtual void ClearAll() = 0;
248  virtual void Dispose() = 0;
249 
250  };
251 
252 } // namespace Managers
253 } // namespace Entities
254 } // namespace Sfs2X
255 
256 #endif
STL namespace.
Definition: BaseVariable.cpp:15
The BuddyList Manager interface
Definition: IBuddyManager.h:37
Definition: Buddy.h:30
Definition: SmartFox.cpp:24