1 // Copyright (c) 2011 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/trusted/ppb_broker_trusted.h"
6 #include "ppapi/c/pp_errors.h"
7 #include "ppapi/thunk/common.h"
8 #include "ppapi/thunk/enter.h"
9 #include "ppapi/thunk/thunk.h"
10 #include "ppapi/thunk/ppb_broker_api.h"
11 #include "ppapi/thunk/resource_creation_api.h"
18 PP_Resource
CreateTrusted(PP_Instance instance
) {
19 EnterFunction
<ResourceCreationAPI
> enter(instance
, true);
22 return enter
.functions()->CreateBroker(instance
);
25 PP_Bool
IsBrokerTrusted(PP_Resource resource
) {
26 EnterResource
<PPB_Broker_API
> enter(resource
, false);
27 return PP_FromBool(enter
.succeeded());
30 int32_t Connect(PP_Resource resource
,
31 PP_CompletionCallback connect_callback
) {
32 EnterResource
<PPB_Broker_API
> enter(resource
, true);
34 return MayForceCallback(connect_callback
, PP_ERROR_BADRESOURCE
);
35 int32_t result
= enter
.object()->Connect(connect_callback
);
36 return MayForceCallback(connect_callback
, result
);
39 int32_t GetHandle(PP_Resource resource
, int32_t* handle
) {
40 EnterResource
<PPB_Broker_API
> enter(resource
, true);
42 return PP_ERROR_BADRESOURCE
;
43 return enter
.object()->GetHandle(handle
);
46 const PPB_BrokerTrusted g_ppb_broker_thunk
= {
55 const PPB_BrokerTrusted
* GetPPB_BrokerTrusted_Thunk() {
56 return &g_ppb_broker_thunk
;