Easemob Windows SDK
emcmdmessagebody.h
1 /************************************************************
2  * * EaseMob CONFIDENTIAL
3  * __________________
4  * Copyright (C) 2015 EaseMob Technologies. All rights reserved.
5  *
6  * NOTICE: All information contained herein is, and remains
7  * the property of EaseMob Technologies.
8  * Dissemination of this information or reproduction of this material
9  * is strictly forbidden unless prior written permission is obtained
10  * from EaseMob Technologies.
11  */
12 //
13 // EMCmdMessageBody.h
14 //
15 // Copyright (c) 2015 EaseMob Inc. All rights reserved.
16 //
17 
18 #ifndef __easemob__EMCmdMessageBody__
19 #define __easemob__EMCmdMessageBody__
20 
21 #include <string>
22 #include <vector>
23 #include "emmessagebody.h"
24 
25 namespace easemob {
26 
27 class EMCmdMessageBodyPrivate;
28 
29 class EASEMOB_API EMCmdMessageBody : public EMMessageBody
30 {
31 public:
32  typedef std::pair<std::string, std::string> EMCmdParam;
33  typedef std::vector<EMCmdParam> EMCmdParams;
34 
42  EMCmdMessageBody(const std::string& action);
43 
50  virtual ~EMCmdMessageBody();
51 
58  const std::string& action() const;
59 
66  void setAction(const std::string &action) { mAction = action; }
67 
74  const EMCmdParams& params() const;
75 
83  void setParams(const EMCmdParams&);
84 
85 protected:
93 
94 private:
101  void init();
102 
103 private:
105  EMCmdMessageBody& operator=(const EMCmdMessageBody&);
106  virtual void dummy() const{}
107  std::string mAction;
108  EMCmdParams mParams;
109  friend class EMCmdMessageBodyPrivate;
110  friend class EMMessageEncoder;
111 };
112 
113 typedef std::shared_ptr<EMCmdMessageBody> EMCmdMessageBodyPtr;
114 
115 }
116 
117 #endif /* defined(__easemob__EMCmdMessageBody__) */
void setAction(const std::string &action)
Set command action.
Definition: emcmdmessagebody.h:66
Definition: emmessagebody.h:31
Definition: emcmdmessagebody.h:29
Definition: emattributevalue.h:28