| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you 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 "ResourceRequest.h" |
| |
| namespace libyarn { |
| |
| ResourceRequest::ResourceRequest() { |
| requestProto = ResourceRequestProto::default_instance(); |
| } |
| |
| ResourceRequest::ResourceRequest(const ResourceRequestProto &proto) : requestProto(proto) { |
| } |
| |
| ResourceRequest::~ResourceRequest() { |
| } |
| |
| ResourceRequestProto& ResourceRequest::getProto(){ |
| return requestProto; |
| } |
| |
| void ResourceRequest::setPriority(Priority &priority){ |
| PriorityProto* priorityProto = new PriorityProto(); |
| priorityProto->CopyFrom(priority.getProto()); |
| requestProto.set_allocated_priority(priorityProto); |
| } |
| |
| Priority ResourceRequest::getPriority() { |
| return Priority(requestProto.priority()); |
| } |
| |
| void ResourceRequest::setResourceName(string &name){ |
| requestProto.set_allocated_resource_name(new string(name)); |
| } |
| |
| string ResourceRequest::getResourceName() { |
| return requestProto.resource_name(); |
| } |
| |
| void ResourceRequest::setCapability(Resource &capability) { |
| ResourceProto *proto = new ResourceProto(); |
| proto->CopyFrom(capability.getProto()); |
| requestProto.set_allocated_capability(proto); |
| } |
| |
| Resource ResourceRequest::getCapability() { |
| return Resource(requestProto.capability()); |
| } |
| |
| void ResourceRequest::setNumContainers(int32_t num) { |
| requestProto.set_num_containers(num); |
| } |
| |
| int32_t ResourceRequest::getNumContainers() { |
| return requestProto.num_containers(); |
| } |
| |
| void ResourceRequest::setRelaxLocality(bool relaxLocality) { |
| requestProto.set_relax_locality(relaxLocality); |
| } |
| |
| bool ResourceRequest::getRelaxLocality() { |
| return requestProto.relax_locality(); |
| } |
| |
| } /* namespace libyarn */ |