platform/shared/sync/SyncProtocol_3.h in rhodes-3.0.2 vs platform/shared/sync/SyncProtocol_3.h in rhodes-3.1.0.beta.1

- old
+ new

@@ -1,10 +1,37 @@ +/*------------------------------------------------------------------------ +* (The MIT License) +* +* Copyright (c) 2008-2011 Rhomobile, Inc. +* +* Permission is hereby granted, free of charge, to any person obtaining a copy +* of this software and associated documentation files (the "Software"), to deal +* in the Software without restriction, including without limitation the rights +* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +* copies of the Software, and to permit persons to whom the Software is +* furnished to do so, subject to the following conditions: +* +* The above copyright notice and this permission notice shall be included in +* all copies or substantial portions of the Software. +* +* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +* THE SOFTWARE. +* +* http://rhomobile.com +*------------------------------------------------------------------------*/ + #pragma once #include "ISyncProtocol.h" #include "common/StringConverter.h" #include "common/RhoFilePath.h" +#include "json/JSONIterator.h" namespace rho { namespace sync { struct CSyncProtocol_3 : public ISyncProtocol @@ -24,11 +51,11 @@ return RHOCONF().getPath("syncserver") + "clientlogin"; } String getLoginBody( const String& name, const String& password) { - return "{\"login\":\"" + name + "\",\"password\":\"" + password + "\",\"remember_me\":1}"; + return "{\"login\":" + json::CJSONEntry::quoteValue(name) + ",\"password\":" + json::CJSONEntry::quoteValue(password) + ",\"remember_me\":1}"; } String getClientCreateUrl() { return RHOCONF().getPath("syncserver") + "clientcreate"; @@ -37,15 +64,16 @@ String getClientRegisterUrl() { return RHOCONF().getPath("syncserver") + "clientregister"; } - String getClientRegisterBody( const String& strClientID, const String& strPin, int nPort, const String& strType ) + String getClientRegisterBody( const String& strClientID, const String& strPin, int nPort, const String& strType, const String& strPhoneID ) { - return "{\"client_id\":\"" + strClientID + - "\",\"device_pin\":\"" + strPin + - "\",\"device_port\":\"" + common::convertToStringA(nPort) + - "\",\"device_type\":\"" + strType + "\"}"; + return "{\"client_id\":" + json::CJSONEntry::quoteValue(strClientID) + + ",\"device_pin\":" + json::CJSONEntry::quoteValue(strPin) + + ( strPhoneID.length() > 0 ? ",\"phone_id\":" + json::CJSONEntry::quoteValue(strPhoneID) : "") + + ",\"device_port\":" + json::CJSONEntry::quoteValue(common::convertToStringA(nPort)) + + ",\"device_type\":" + json::CJSONEntry::quoteValue(strType) + "}"; } String getClientResetUrl(const String& strClientID) { return RHOCONF().getPath("syncserver") + "clientreset?client_id=" + strClientID;