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

Side by Side Diff: ppapi/shared_impl/private/ppb_x509_certificate_private_shared.h

Issue 9699100: Add functionality to pppapi TCPSocket to support secure sockets in flash (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 8 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 Chromium Authors. All rights reserved. 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 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 #ifndef PPAPI_SHARED_IMPL_PRIVATE_PPB_X509_CERTIFICATE_PRIVATE_IMPL_H_ 5 #ifndef PPAPI_SHARED_IMPL_PRIVATE_PPB_X509_CERTIFICATE_PRIVATE_IMPL_H_
6 #define PPAPI_SHARED_IMPL_PRIVATE_PPB_X509_CERTIFICATE_PRIVATE_IMPL_H_ 6 #define PPAPI_SHARED_IMPL_PRIVATE_PPB_X509_CERTIFICATE_PRIVATE_IMPL_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "base/values.h" 11 #include "base/values.h"
12 #include "ppapi/c/private/ppb_x509_certificate_private.h" 12 #include "ppapi/c/private/ppb_x509_certificate_private.h"
13 #include "ppapi/shared_impl/resource.h" 13 #include "ppapi/shared_impl/resource.h"
14 #include "ppapi/thunk/ppb_x509_certificate_private_api.h" 14 #include "ppapi/thunk/ppb_x509_certificate_private_api.h"
15 15
16 namespace IPC { 16 namespace IPC {
17 template <class T> 17 template <class T>
18 struct ParamTraits; 18 struct ParamTraits;
19 } 19 }
20 20
21 namespace ppapi { 21 namespace ppapi {
22 22
23 class PPAPI_SHARED_EXPORT PPB_X509Certificate_Fields { 23 class PPAPI_SHARED_EXPORT PPB_X509Certificate_Fields {
24 public: 24 public:
25 PPB_X509Certificate_Fields();
26 PPB_X509Certificate_Fields(const PPB_X509Certificate_Fields& fields);
27
25 // Takes ownership of |value|. 28 // Takes ownership of |value|.
26 void SetField(PP_X509Certificate_Private_Field field, base::Value* value); 29 void SetField(PP_X509Certificate_Private_Field field, base::Value* value);
27 PP_Var GetFieldAsPPVar(PP_X509Certificate_Private_Field field) const; 30 PP_Var GetFieldAsPPVar(PP_X509Certificate_Private_Field field) const;
28 31
29 private: 32 private:
30 // Friend so ParamTraits can serialize us. 33 // Friend so ParamTraits can serialize us.
31 friend struct IPC::ParamTraits<ppapi::PPB_X509Certificate_Fields>; 34 friend struct IPC::ParamTraits<ppapi::PPB_X509Certificate_Fields>;
32 35
33 base::ListValue values_; 36 base::ListValue values_;
34 }; 37 };
35 38
36 //------------------------------------------------------------------------------ 39 //------------------------------------------------------------------------------
37 40
38 class PPAPI_SHARED_EXPORT PPB_X509Certificate_Private_Shared 41 class PPAPI_SHARED_EXPORT PPB_X509Certificate_Private_Shared
39 : public thunk::PPB_X509Certificate_Private_API, 42 : public thunk::PPB_X509Certificate_Private_API,
40 public Resource { 43 public Resource {
41 public: 44 public:
42 PPB_X509Certificate_Private_Shared(ResourceObjectType type, 45 PPB_X509Certificate_Private_Shared(ResourceObjectType type,
43 PP_Instance instance); 46 PP_Instance instance);
44 // Used by tcp_socket_shared_impl to construct a certificate resource from a 47 // Used by tcp_socket_shared_impl to construct a certificate resource from a
45 // server certificate. This object owns the pointer passed in. 48 // server certificate.
46 PPB_X509Certificate_Private_Shared(ResourceObjectType type, 49 PPB_X509Certificate_Private_Shared(ResourceObjectType type,
47 PP_Instance instance, 50 PP_Instance instance,
48 PPB_X509Certificate_Fields* fields); 51 const PPB_X509Certificate_Fields& fields);
49 virtual ~PPB_X509Certificate_Private_Shared(); 52 virtual ~PPB_X509Certificate_Private_Shared();
50 53
51 // Resource overrides. 54 // Resource overrides.
52 virtual PPB_X509Certificate_Private_API* 55 virtual PPB_X509Certificate_Private_API*
53 AsPPB_X509Certificate_Private_API() OVERRIDE; 56 AsPPB_X509Certificate_Private_API() OVERRIDE;
54 57
55 // PPB_X509Certificate_Private_API implementation. 58 // PPB_X509Certificate_Private_API implementation.
56 virtual PP_Bool Initialize(const char* bytes, uint32_t length) OVERRIDE; 59 virtual PP_Bool Initialize(const char* bytes, uint32_t length) OVERRIDE;
57 virtual PP_Var GetField(PP_X509Certificate_Private_Field field) OVERRIDE; 60 virtual PP_Var GetField(PP_X509Certificate_Private_Field field) OVERRIDE;
58 61
59 protected: 62 protected:
60 virtual bool ParseDER(const std::vector<char>& der, 63 virtual bool ParseDER(const std::vector<char>& der,
61 PPB_X509Certificate_Fields* result); 64 PPB_X509Certificate_Fields* result);
62 65
63 private: 66 private:
64 scoped_ptr<PPB_X509Certificate_Fields> fields_; 67 scoped_ptr<PPB_X509Certificate_Fields> fields_;
65 68
66 DISALLOW_COPY_AND_ASSIGN(PPB_X509Certificate_Private_Shared); 69 DISALLOW_COPY_AND_ASSIGN(PPB_X509Certificate_Private_Shared);
67 }; 70 };
68 71
69 } // namespace ppapi 72 } // namespace ppapi
70 73
71 #endif // PPAPI_SHARED_IMPL_PRIVATE_X509_CERTIFICATE_PRIVATE_IMPL_H_ 74 #endif // PPAPI_SHARED_IMPL_PRIVATE_X509_CERTIFICATE_PRIVATE_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698