1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "ppapi/cpp/url_request_info.h" 6 7#include "ppapi/cpp/file_ref.h" 8#include "ppapi/cpp/instance_handle.h" 9#include "ppapi/cpp/module.h" 10#include "ppapi/cpp/module_impl.h" 11 12namespace pp { 13 14namespace { 15 16template <> const char* interface_name<PPB_URLRequestInfo_1_0>() { 17 return PPB_URLREQUESTINFO_INTERFACE_1_0; 18} 19 20} // namespace 21 22URLRequestInfo::URLRequestInfo(const InstanceHandle& instance) { 23 if (!has_interface<PPB_URLRequestInfo_1_0>()) 24 return; 25 PassRefFromConstructor( 26 get_interface<PPB_URLRequestInfo_1_0>()->Create(instance.pp_instance())); 27} 28 29URLRequestInfo::URLRequestInfo(const URLRequestInfo& other) 30 : Resource(other) { 31} 32 33bool URLRequestInfo::SetProperty(PP_URLRequestProperty property, 34 const Var& value) { 35 if (!has_interface<PPB_URLRequestInfo_1_0>()) 36 return false; 37 return PP_ToBool(get_interface<PPB_URLRequestInfo_1_0>()->SetProperty( 38 pp_resource(), property, value.pp_var())); 39} 40 41bool URLRequestInfo::AppendDataToBody(const void* data, uint32_t len) { 42 if (!has_interface<PPB_URLRequestInfo_1_0>()) 43 return false; 44 return PP_ToBool(get_interface<PPB_URLRequestInfo_1_0>()->AppendDataToBody( 45 pp_resource(), data, len)); 46} 47 48bool URLRequestInfo::AppendFileToBody(const FileRef& file_ref, 49 PP_Time expected_last_modified_time) { 50 if (!has_interface<PPB_URLRequestInfo_1_0>()) 51 return false; 52 return PP_ToBool( 53 get_interface<PPB_URLRequestInfo_1_0>()->AppendFileToBody( 54 pp_resource(), 55 file_ref.pp_resource(), 56 0, 57 -1, 58 expected_last_modified_time)); 59} 60 61bool URLRequestInfo::AppendFileRangeToBody( 62 const FileRef& file_ref, 63 int64_t start_offset, 64 int64_t length, 65 PP_Time expected_last_modified_time) { 66 if (!has_interface<PPB_URLRequestInfo_1_0>()) 67 return false; 68 return PP_ToBool(get_interface<PPB_URLRequestInfo_1_0>()->AppendFileToBody( 69 pp_resource(), 70 file_ref.pp_resource(), 71 start_offset, 72 length, 73 expected_last_modified_time)); 74} 75 76} // namespace pp 77