Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(70)

Side by Side Diff: src/trusted/desc/nacl_desc_wrapper.cc

Issue 261683002: Make a NaClDesc ctor for creating descs from NaClFileInfo. (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: win Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Native Client Authors. All rights reserved. 1 // Copyright (c) 2012 The Native Client Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <limits> 5 #include <limits>
6 #include <new> 6 #include <new>
7 #include "native_client/src/include/portability.h" 7 #include "native_client/src/include/portability.h"
8 #include "native_client/src/include/portability_string.h" 8 #include "native_client/src/include/portability_string.h"
9 #include "native_client/src/public/imc_types.h" 9 #include "native_client/src/public/imc_types.h"
10 #include "native_client/src/shared/imc/nacl_imc_c.h" 10 #include "native_client/src/shared/imc/nacl_imc_c.h"
11 #include "native_client/src/shared/platform/nacl_check.h" 11 #include "native_client/src/shared/platform/nacl_check.h"
12 #include "native_client/src/shared/platform/nacl_log.h" 12 #include "native_client/src/shared/platform/nacl_log.h"
13 #include "native_client/src/shared/platform/nacl_sync_checked.h" 13 #include "native_client/src/shared/platform/nacl_sync_checked.h"
14 #if defined(NACL_LINUX) 14 #if defined(NACL_LINUX)
15 #include "native_client/src/trusted/desc/linux/nacl_desc_sysv_shm.h" 15 #include "native_client/src/trusted/desc/linux/nacl_desc_sysv_shm.h"
16 #endif // defined(NACL_LINUX) 16 #endif // defined(NACL_LINUX)
17 #include "native_client/src/trusted/desc/nacl_desc_base.h" 17 #include "native_client/src/trusted/desc/nacl_desc_base.h"
18 #include "native_client/src/trusted/desc/nacl_desc_conn_cap.h" 18 #include "native_client/src/trusted/desc/nacl_desc_conn_cap.h"
19 #include "native_client/src/trusted/desc/nacl_desc_file_info.h"
19 #include "native_client/src/trusted/desc/nacl_desc_imc.h" 20 #include "native_client/src/trusted/desc/nacl_desc_imc.h"
20 #include "native_client/src/trusted/desc/nacl_desc_imc_shm.h" 21 #include "native_client/src/trusted/desc/nacl_desc_imc_shm.h"
21 #include "native_client/src/trusted/desc/nacl_desc_invalid.h" 22 #include "native_client/src/trusted/desc/nacl_desc_invalid.h"
22 #include "native_client/src/trusted/desc/nacl_desc_io.h" 23 #include "native_client/src/trusted/desc/nacl_desc_io.h"
23 #include "native_client/src/trusted/desc/nacl_desc_quota.h" 24 #include "native_client/src/trusted/desc/nacl_desc_quota.h"
24 #include "native_client/src/trusted/desc/nacl_desc_rng.h" 25 #include "native_client/src/trusted/desc/nacl_desc_rng.h"
25 #include "native_client/src/trusted/desc/nacl_desc_sync_socket.h" 26 #include "native_client/src/trusted/desc/nacl_desc_sync_socket.h"
26 #include "native_client/src/trusted/desc/nacl_desc_wrapper.h" 27 #include "native_client/src/trusted/desc/nacl_desc_wrapper.h"
27 #include "native_client/src/trusted/desc/nrd_xfer.h" 28 #include "native_client/src/trusted/desc/nrd_xfer.h"
28 #include "native_client/src/trusted/nacl_base/nacl_refcount.h" 29 #include "native_client/src/trusted/nacl_base/nacl_refcount.h"
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 } 309 }
309 310
310 DescWrapper* DescWrapperFactory::MakeFileDesc(int host_os_desc, int mode) { 311 DescWrapper* DescWrapperFactory::MakeFileDesc(int host_os_desc, int mode) {
311 struct NaClDesc* desc = ImportHostDescCommon(host_os_desc, mode); 312 struct NaClDesc* desc = ImportHostDescCommon(host_os_desc, mode);
312 if (NULL == desc) { 313 if (NULL == desc) {
313 return NULL; 314 return NULL;
314 } 315 }
315 return MakeGenericCleanup(desc); 316 return MakeGenericCleanup(desc);
316 } 317 }
317 318
319 DescWrapper* DescWrapperFactory::MakeFileDescFileInfo(struct NaClFileInfo info,
Mark Seaborn 2014/05/15 00:36:10 Since DescWrapper is deprecated, can you avoid add
jvoung (off chromium) 2014/05/16 18:02:05 Okay. The intention was to have a single call that
320 int mode) {
321 struct NaClDesc* desc = NaClDescIoFromFileInfo(info, mode);
322 if (NULL == desc) {
323 return NULL;
324 }
325 return MakeGenericCleanup(desc);
326 }
327
318 DescWrapper* DescWrapperFactory::MakeFileDescQuota(int host_os_desc, 328 DescWrapper* DescWrapperFactory::MakeFileDescQuota(int host_os_desc,
319 int mode, 329 int mode,
320 const uint8_t* file_id) { 330 const uint8_t* file_id) {
321 struct NaClDesc* desc = ImportHostDescCommon(host_os_desc, mode); 331 struct NaClDesc* desc = ImportHostDescCommon(host_os_desc, mode);
322 if (NULL == desc) { 332 if (NULL == desc) {
323 return NULL; 333 return NULL;
324 } 334 }
325 struct NaClDesc* desc_quota = MakeQuotaCommon(file_id, desc); 335 struct NaClDesc* desc_quota = MakeQuotaCommon(file_id, desc);
326 if (desc_quota == NULL) { 336 if (desc_quota == NULL) {
327 NaClDescSafeUnref(desc); 337 NaClDescSafeUnref(desc);
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after
630 return reinterpret_cast<struct NaClDescVtbl const *>(desc_->base.vtbl)-> 640 return reinterpret_cast<struct NaClDescVtbl const *>(desc_->base.vtbl)->
631 SemWait(desc_); 641 SemWait(desc_);
632 } 642 }
633 643
634 int DescWrapper::GetValue() { 644 int DescWrapper::GetValue() {
635 return reinterpret_cast<struct NaClDescVtbl const *>(desc_->base.vtbl)-> 645 return reinterpret_cast<struct NaClDescVtbl const *>(desc_->base.vtbl)->
636 GetValue(desc_); 646 GetValue(desc_);
637 } 647 }
638 648
639 } // namespace nacl 649 } // namespace nacl
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698