root/sync/internal_api/events/commit_request_event.cc

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. request_
  2. GetTimestamp
  3. GetType
  4. GetDetails
  5. GetProtoMessage
  6. Clone

// Copyright 2014 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 "sync/internal_api/public/events/commit_request_event.h"

#include "base/format_macros.h"
#include "base/strings/stringprintf.h"
#include "sync/protocol/proto_value_conversions.h"

namespace syncer {

CommitRequestEvent::CommitRequestEvent(
    base::Time timestamp,
    size_t num_items,
    ModelTypeSet contributing_types_,
    const sync_pb::ClientToServerMessage& request)
  : timestamp_(timestamp),
    num_items_(num_items),
    contributing_types_(contributing_types_),
    request_(request) {}

CommitRequestEvent::~CommitRequestEvent() {}

base::Time CommitRequestEvent::GetTimestamp() const {
  return timestamp_;
}

std::string CommitRequestEvent::GetType() const {
  return "Commit Request";
}

std::string CommitRequestEvent::GetDetails() const {
  return base::StringPrintf(
      "Item count: %" PRIuS "\n"
      "Contributing types: %s",
      num_items_,
      ModelTypeSetToString(contributing_types_).c_str());
}

scoped_ptr<base::DictionaryValue> CommitRequestEvent::GetProtoMessage() const {
  return scoped_ptr<base::DictionaryValue>(
      ClientToServerMessageToValue(request_, false));
}

scoped_ptr<ProtocolEvent> CommitRequestEvent::Clone() const {
  return scoped_ptr<ProtocolEvent>(
      new CommitRequestEvent(timestamp_,
                             num_items_,
                             contributing_types_,
                             request_));
}

}  // namespace syncer

/* [<][>][^][v][top][bottom][index][help] */