Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(286)

Side by Side Diff: google_apis/gcm/base/mcs_util.cc

Issue 1873663002: Convert //google_apis from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "google_apis/gcm/base/mcs_util.h" 5 #include "google_apis/gcm/base/mcs_util.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/format_macros.h" 9 #include "base/format_macros.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 const char kLoginDomain[] = "mcs.android.com"; 46 const char kLoginDomain[] = "mcs.android.com";
47 const char kLoginDeviceIdPrefix[] = "android-"; 47 const char kLoginDeviceIdPrefix[] = "android-";
48 const char kLoginSettingDefaultName[] = "new_vc"; 48 const char kLoginSettingDefaultName[] = "new_vc";
49 const char kLoginSettingDefaultValue[] = "1"; 49 const char kLoginSettingDefaultValue[] = "1";
50 50
51 // Maximum amount of time to save an unsent outgoing message for. 51 // Maximum amount of time to save an unsent outgoing message for.
52 const int kMaxTTLSeconds = 24 * 60 * 60; // 1 day. 52 const int kMaxTTLSeconds = 24 * 60 * 60; // 1 day.
53 53
54 } // namespace 54 } // namespace
55 55
56 scoped_ptr<mcs_proto::LoginRequest> BuildLoginRequest( 56 std::unique_ptr<mcs_proto::LoginRequest> BuildLoginRequest(
57 uint64_t auth_id, 57 uint64_t auth_id,
58 uint64_t auth_token, 58 uint64_t auth_token,
59 const std::string& version_string) { 59 const std::string& version_string) {
60 // Create a hex encoded auth id for the device id field. 60 // Create a hex encoded auth id for the device id field.
61 std::string auth_id_hex; 61 std::string auth_id_hex;
62 auth_id_hex = base::StringPrintf("%" PRIx64, auth_id); 62 auth_id_hex = base::StringPrintf("%" PRIx64, auth_id);
63 63
64 std::string auth_id_str = base::Uint64ToString(auth_id); 64 std::string auth_id_str = base::Uint64ToString(auth_id);
65 std::string auth_token_str = base::Uint64ToString(auth_token); 65 std::string auth_token_str = base::Uint64ToString(auth_token);
66 66
67 scoped_ptr<mcs_proto::LoginRequest> login_request( 67 std::unique_ptr<mcs_proto::LoginRequest> login_request(
68 new mcs_proto::LoginRequest()); 68 new mcs_proto::LoginRequest());
69 69
70 login_request->set_adaptive_heartbeat(false); 70 login_request->set_adaptive_heartbeat(false);
71 login_request->set_auth_service(mcs_proto::LoginRequest::ANDROID_ID); 71 login_request->set_auth_service(mcs_proto::LoginRequest::ANDROID_ID);
72 login_request->set_auth_token(auth_token_str); 72 login_request->set_auth_token(auth_token_str);
73 login_request->set_id(kLoginId + version_string); 73 login_request->set_id(kLoginId + version_string);
74 login_request->set_domain(kLoginDomain); 74 login_request->set_domain(kLoginDomain);
75 login_request->set_device_id(kLoginDeviceIdPrefix + auth_id_hex); 75 login_request->set_device_id(kLoginDeviceIdPrefix + auth_id_hex);
76 login_request->set_network_type(1); 76 login_request->set_network_type(1);
77 login_request->set_resource(auth_id_str); 77 login_request->set_resource(auth_id_str);
78 login_request->set_user(auth_id_str); 78 login_request->set_user(auth_id_str);
79 login_request->set_use_rmq2(true); 79 login_request->set_use_rmq2(true);
80 80
81 login_request->add_setting(); 81 login_request->add_setting();
82 login_request->mutable_setting(0)->set_name(kLoginSettingDefaultName); 82 login_request->mutable_setting(0)->set_name(kLoginSettingDefaultName);
83 login_request->mutable_setting(0)->set_value(kLoginSettingDefaultValue); 83 login_request->mutable_setting(0)->set_value(kLoginSettingDefaultValue);
84 return login_request; 84 return login_request;
85 } 85 }
86 86
87 scoped_ptr<mcs_proto::IqStanza> BuildStreamAck() { 87 std::unique_ptr<mcs_proto::IqStanza> BuildStreamAck() {
88 scoped_ptr<mcs_proto::IqStanza> stream_ack_iq(new mcs_proto::IqStanza()); 88 std::unique_ptr<mcs_proto::IqStanza> stream_ack_iq(new mcs_proto::IqStanza());
89 stream_ack_iq->set_type(mcs_proto::IqStanza::SET); 89 stream_ack_iq->set_type(mcs_proto::IqStanza::SET);
90 stream_ack_iq->set_id(""); 90 stream_ack_iq->set_id("");
91 stream_ack_iq->mutable_extension()->set_id(kStreamAck); 91 stream_ack_iq->mutable_extension()->set_id(kStreamAck);
92 stream_ack_iq->mutable_extension()->set_data(""); 92 stream_ack_iq->mutable_extension()->set_data("");
93 return stream_ack_iq; 93 return stream_ack_iq;
94 } 94 }
95 95
96 scoped_ptr<mcs_proto::IqStanza> BuildSelectiveAck( 96 std::unique_ptr<mcs_proto::IqStanza> BuildSelectiveAck(
97 const std::vector<std::string>& acked_ids) { 97 const std::vector<std::string>& acked_ids) {
98 scoped_ptr<mcs_proto::IqStanza> selective_ack_iq(new mcs_proto::IqStanza()); 98 std::unique_ptr<mcs_proto::IqStanza> selective_ack_iq(
99 new mcs_proto::IqStanza());
99 selective_ack_iq->set_type(mcs_proto::IqStanza::SET); 100 selective_ack_iq->set_type(mcs_proto::IqStanza::SET);
100 selective_ack_iq->set_id(""); 101 selective_ack_iq->set_id("");
101 selective_ack_iq->mutable_extension()->set_id(kSelectiveAck); 102 selective_ack_iq->mutable_extension()->set_id(kSelectiveAck);
102 mcs_proto::SelectiveAck selective_ack; 103 mcs_proto::SelectiveAck selective_ack;
103 for (size_t i = 0; i < acked_ids.size(); ++i) 104 for (size_t i = 0; i < acked_ids.size(); ++i)
104 selective_ack.add_id(acked_ids[i]); 105 selective_ack.add_id(acked_ids[i]);
105 selective_ack_iq->mutable_extension()->set_data( 106 selective_ack_iq->mutable_extension()->set_data(
106 selective_ack.SerializeAsString()); 107 selective_ack.SerializeAsString());
107 return selective_ack_iq; 108 return selective_ack_iq;
108 } 109 }
109 110
110 // Utility method to build a google::protobuf::MessageLite object from a MCS 111 // Utility method to build a google::protobuf::MessageLite object from a MCS
111 // tag. 112 // tag.
112 scoped_ptr<google::protobuf::MessageLite> BuildProtobufFromTag(uint8_t tag) { 113 std::unique_ptr<google::protobuf::MessageLite> BuildProtobufFromTag(
114 uint8_t tag) {
113 switch(tag) { 115 switch(tag) {
114 case kHeartbeatPingTag: 116 case kHeartbeatPingTag:
115 return scoped_ptr<google::protobuf::MessageLite>( 117 return std::unique_ptr<google::protobuf::MessageLite>(
116 new mcs_proto::HeartbeatPing()); 118 new mcs_proto::HeartbeatPing());
117 case kHeartbeatAckTag: 119 case kHeartbeatAckTag:
118 return scoped_ptr<google::protobuf::MessageLite>( 120 return std::unique_ptr<google::protobuf::MessageLite>(
119 new mcs_proto::HeartbeatAck()); 121 new mcs_proto::HeartbeatAck());
120 case kLoginRequestTag: 122 case kLoginRequestTag:
121 return scoped_ptr<google::protobuf::MessageLite>( 123 return std::unique_ptr<google::protobuf::MessageLite>(
122 new mcs_proto::LoginRequest()); 124 new mcs_proto::LoginRequest());
123 case kLoginResponseTag: 125 case kLoginResponseTag:
124 return scoped_ptr<google::protobuf::MessageLite>( 126 return std::unique_ptr<google::protobuf::MessageLite>(
125 new mcs_proto::LoginResponse()); 127 new mcs_proto::LoginResponse());
126 case kCloseTag: 128 case kCloseTag:
127 return scoped_ptr<google::protobuf::MessageLite>( 129 return std::unique_ptr<google::protobuf::MessageLite>(
128 new mcs_proto::Close()); 130 new mcs_proto::Close());
129 case kIqStanzaTag: 131 case kIqStanzaTag:
130 return scoped_ptr<google::protobuf::MessageLite>( 132 return std::unique_ptr<google::protobuf::MessageLite>(
131 new mcs_proto::IqStanza()); 133 new mcs_proto::IqStanza());
132 case kDataMessageStanzaTag: 134 case kDataMessageStanzaTag:
133 return scoped_ptr<google::protobuf::MessageLite>( 135 return std::unique_ptr<google::protobuf::MessageLite>(
134 new mcs_proto::DataMessageStanza()); 136 new mcs_proto::DataMessageStanza());
135 case kStreamErrorStanzaTag: 137 case kStreamErrorStanzaTag:
136 return scoped_ptr<google::protobuf::MessageLite>( 138 return std::unique_ptr<google::protobuf::MessageLite>(
137 new mcs_proto::StreamErrorStanza()); 139 new mcs_proto::StreamErrorStanza());
138 default: 140 default:
139 return scoped_ptr<google::protobuf::MessageLite>(); 141 return std::unique_ptr<google::protobuf::MessageLite>();
140 } 142 }
141 } 143 }
142 144
143 // Utility method to extract a MCS tag from a google::protobuf::MessageLite 145 // Utility method to extract a MCS tag from a google::protobuf::MessageLite
144 // object. 146 // object.
145 int GetMCSProtoTag(const google::protobuf::MessageLite& message) { 147 int GetMCSProtoTag(const google::protobuf::MessageLite& message) {
146 const std::string& type_name = message.GetTypeName(); 148 const std::string& type_name = message.GetTypeName();
147 if (type_name == kProtoNames[kHeartbeatPingTag]) { 149 if (type_name == kProtoNames[kHeartbeatPingTag]) {
148 return kHeartbeatPingTag; 150 return kHeartbeatPingTag;
149 } else if (type_name == kProtoNames[kHeartbeatAckTag]) { 151 } else if (type_name == kProtoNames[kHeartbeatAckTag]) {
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 267
266 bool IsImmediateAckRequested(const google::protobuf::MessageLite& protobuf) { 268 bool IsImmediateAckRequested(const google::protobuf::MessageLite& protobuf) {
267 if (protobuf.GetTypeName() != kProtoNames[kDataMessageStanzaTag]) 269 if (protobuf.GetTypeName() != kProtoNames[kDataMessageStanzaTag])
268 return false; 270 return false;
269 const mcs_proto::DataMessageStanza* data_message = 271 const mcs_proto::DataMessageStanza* data_message =
270 reinterpret_cast<const mcs_proto::DataMessageStanza*>(&protobuf); 272 reinterpret_cast<const mcs_proto::DataMessageStanza*>(&protobuf);
271 return data_message->has_immediate_ack() && data_message->immediate_ack(); 273 return data_message->has_immediate_ack() && data_message->immediate_ack();
272 } 274 }
273 275
274 } // namespace gcm 276 } // namespace gcm
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698