blob: 24be478e798f93195fc62a5ac017b9a73ff09501 [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include <map>
#include <string>
#include "components/gcm_driver/common/gcm_driver_export.h"
namespace gcm {
// Message data consisting of key-value pairs.
typedef std::map<std::string, std::string> MessageData;
// Message to be delivered to the other party.
struct GCM_DRIVER_EXPORT OutgoingMessage {
OutgoingMessage(const OutgoingMessage& other);
// Message ID.
std::string id;
// In seconds.
int time_to_live;
MessageData data;
static const int kMaximumTTL;
// Message being received from the other party.
struct GCM_DRIVER_EXPORT IncomingMessage {
IncomingMessage(const IncomingMessage& other);
MessageData data;
std::string collapse_key;
std::string sender_id;
std::string raw_data;
// Whether the contents of the message have been decrypted, and are
// available in |raw_data|.
bool decrypted;
} // namespace gcm