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 12 namespace pp { 13 14 namespace { 15 16 template <> const char* interface_name<PPB_URLRequestInfo_1_0>() { 17 return PPB_URLREQUESTINFO_INTERFACE_1_0; 18 } 19 20 } // namespace 21 22 URLRequestInfo::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 29 URLRequestInfo::URLRequestInfo(const URLRequestInfo& other) 30 : Resource(other) { 31 } 32 33 bool 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 41 bool 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 48 bool 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 61 bool 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