| Index: blimp/engine/mojo/blob_channel_service.cc
|
| diff --git a/blimp/engine/mojo/blob_channel_service.cc b/blimp/engine/mojo/blob_channel_service.cc
|
| index 0234df60698b3a2c2628537b7e66cfd9ae44bfd9..413c19c94de269c54f7ee6143ba15ecbb69182a2 100644
|
| --- a/blimp/engine/mojo/blob_channel_service.cc
|
| +++ b/blimp/engine/mojo/blob_channel_service.cc
|
| @@ -4,6 +4,8 @@
|
|
|
| #include "blimp/engine/mojo/blob_channel_service.h"
|
|
|
| +#include <vector>
|
| +
|
| #include "blimp/net/blob_channel/blob_channel_sender.h"
|
|
|
| namespace blimp {
|
| @@ -18,6 +20,23 @@ BlobChannelService::BlobChannelService(BlobChannelSender* blob_channel_sender,
|
|
|
| BlobChannelService::~BlobChannelService() {}
|
|
|
| +void BlobChannelService::GetCachedBlobIds(
|
| + const BlobChannelService::GetCachedBlobIdsCallback& callback) {
|
| + VLOG(1) << "BlobChannel::GetCachedBlobIds called.";
|
| +
|
| + // Pass the Mojo representation of the cache state to |callback|.
|
| + std::vector<BlobChannelSender::CacheStateEntry> cache_state =
|
| + blob_channel_sender_->GetCachedBlobIds();
|
| + auto output = mojo::Array<mojom::CacheStateEntryPtr>::New(cache_state.size());
|
| + for (size_t i = 0; i < cache_state.size(); ++i) {
|
| + mojom::CacheStateEntryPtr converted(mojom::CacheStateEntry::New());
|
| + converted->id.Swap(&cache_state[i].id);
|
| + converted->was_delivered = cache_state[i].was_delivered;
|
| + output[i] = std::move(converted);
|
| + }
|
| + callback.Run(std::move(output));
|
| +}
|
| +
|
| void BlobChannelService::PutBlob(const mojo::String& id,
|
| const mojo::String& data) {
|
| blob_channel_sender_->PutBlob(id, new BlobData(data));
|
|
|