Changeset 5 in chevmsgr
Legend:
- Unmodified
- Added
- Removed
-
trunk/msg.cpp
r4 r5 40 40 41 41 obj["command"] = cmd; 42 43 return json::Serialize(obj); 44 } 45 46 std::string Request::sms(const std::string & phone) const 47 { 48 DECLARE_TEMPLATE_OBJECT(obj, "sms"); 49 50 obj["phone"] = phone; 51 52 return json::Serialize(obj); 53 } 54 55 std::string Request::join(const std::string & id, const std::string & pw, const std::string & sms) 56 { 57 DECLARE_TEMPLATE_OBJECT(obj, "join"); 58 59 obj["id" ] = id; 60 obj["pw" ] = pw; 61 obj["sms"] = sms; 42 62 43 63 return json::Serialize(obj); -
trunk/msg.hpp
r4 r5 71 71 std::string command(const std::string & cmd) const; 72 72 73 std::string sms(const std::string & phone) const; 74 75 std::string Request::join(const std::string & id, const std::string & pw, const std::string & sms); 76 73 77 std::string login(const std::string & pw) const; 74 78 -
trunk/msgclnt.cpp
r4 r5 19 19 bool isError = false; 20 20 Message::Parser parser; 21 cf::bin raw; 21 22 22 23 while (true) … … 24 25 try 25 26 { 26 std::string message = inst->socket->receive().toString();27 parser.parse( message);27 raw = inst->socket->receive(); 28 parser.parse(raw.toString()); 28 29 29 30 isError = false; … … 32 33 { 33 34 LOG(e.stackTrace()); 35 36 // closed 37 if (raw.size() == 0) 38 break; 34 39 35 40 isError = true; … … 86 91 } 87 92 93 bool chev::join(const std::string & id, const std::string & pw, const std::string & sms) 94 { 95 try 96 { 97 socket.send(request.join(id, pw, sms)); 98 99 std::string response = socket.receive().toString(); 100 Message::Parser parser; 101 parser.parse(response); 102 103 return parser.get<bool>("result"); 104 } 105 catch (cf::exception & e) 106 { 107 LOG(e.what()); 108 109 return false; 110 } 111 } 112 88 113 bool chev::login(const std::string & id, const std::string & pw) 89 114 { … … 108 133 } 109 134 135 bool chev::sms(const std::string & phone) 136 { 137 try 138 { 139 socket.send(request.sms(phone)); 140 141 std::string response = socket.receive().toString(); 142 Message::Parser parser; 143 parser.parse(response); 144 145 return parser.get<bool>("result"); 146 } 147 catch (cf::exception & e) 148 { 149 LOG(e.what()); 150 151 return false; 152 } 153 } 154 110 155 bool chev::runReceiver(const SCallback & cb) 111 156 { 157 if (listener.isRunning()) 158 return true; 159 112 160 callback = cb; 113 161 -
trunk/msgclnt.h
r4 r5 54 54 bool connect(const std::string & host, unsigned short port); 55 55 56 bool sms( );56 bool sms(const std::string & phone); 57 57 58 58 bool join(const std::string & id, const std::string & pw, const std::string & sms);
Note:
See TracChangeset
for help on using the changeset viewer.