Remove timing limitation of SetOption invocation for PPAPI sockets.
[chromium-blink-merge.git] / ppapi / thunk / ppb_x509_certificate_private_thunk.cc
blob50e070833413b7da7db993bdffec7132653b2b57
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.
5 #include "ppapi/c/private/ppb_x509_certificate_private.h"
6 #include "ppapi/thunk/enter.h"
7 #include "ppapi/thunk/ppb_x509_certificate_private_api.h"
8 #include "ppapi/thunk/resource_creation_api.h"
9 #include "ppapi/thunk/thunk.h"
11 namespace ppapi {
12 namespace thunk {
14 namespace {
16 typedef EnterResource<PPB_X509Certificate_Private_API>
17 EnterX509CertificatePrivate;
19 PP_Resource Create(PP_Instance instance) {
20 EnterResourceCreation enter(instance);
21 if (enter.failed())
22 return 0;
23 return enter.functions()->CreateX509CertificatePrivate(instance);
26 PP_Bool IsX509CertificatePrivate(PP_Resource resource) {
27 EnterX509CertificatePrivate enter(resource, false);
28 return PP_FromBool(enter.succeeded());
31 PP_Bool Initialize(PP_Resource certificate,
32 const char *bytes,
33 uint32_t length) {
34 EnterX509CertificatePrivate enter(certificate, true);
35 if (enter.failed())
36 return PP_FALSE;
37 return enter.object()->Initialize(bytes, length);
40 PP_Var GetField(PP_Resource certificate,
41 PP_X509Certificate_Private_Field field) {
42 EnterX509CertificatePrivate enter(certificate, true);
43 if (enter.failed())
44 return PP_MakeUndefined();
45 return enter.object()->GetField(field);
48 const PPB_X509Certificate_Private g_ppb_x509_certificate_thunk = {
49 &Create,
50 &IsX509CertificatePrivate,
51 &Initialize,
52 &GetField
55 } // namespace
57 const PPB_X509Certificate_Private_0_1*
58 GetPPB_X509Certificate_Private_0_1_Thunk() {
59 return &g_ppb_x509_certificate_thunk;
62 } // namespace thunk
63 } // namespace ppapi