blob: d062293ffc152c08f877b5066063d12f440daed4 [file] [log] [blame]
/*
* Copyright (C) 2016 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "resource_requester.h"
#include "server_connection.h"
#include <vector>
namespace gapir {
std::unique_ptr<ResourceRequester> ResourceRequester::create() {
return std::unique_ptr<ResourceRequester>(new ResourceRequester());
}
bool ResourceRequester::get(const Resource* resources,
size_t count,
const ServerConnection& server,
void* target,
size_t size) {
if (count == 0) {
return true;
}
size_t requestSize = 0;
auto ids = std::vector<ResourceId>(count);
for (size_t i = 0; i < count; i++) {
ids[i] = resources[i].id;
requestSize += resources[i].size;
}
if (requestSize > size) {
return false; // not enough space.
}
return server.getResources(ids.data(), count, target, requestSize);
}
void ResourceRequester::prefetch(const Resource* resources,
size_t count,
const ServerConnection& server,
void* temp,
size_t tempSize) {}
} // namespace gapir