| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef PPAPI_THUNK_PPB_BROKER_API_H_ |
| #define PPAPI_THUNK_PPB_BROKER_API_H_ |
| |
| #include "base/memory/ref_counted.h" |
| #include "ppapi/c/pp_bool.h" |
| #include "ppapi/c/pp_completion_callback.h" |
| #include "ppapi/c/pp_stdint.h" |
| #include "ppapi/shared_impl/singleton_resource_id.h" |
| |
| namespace ppapi { |
| |
| class TrackedCallback; |
| |
| namespace thunk { |
| |
| class PPB_Broker_API { |
| public: |
| virtual ~PPB_Broker_API() {} |
| |
| virtual int32_t Connect(scoped_refptr<TrackedCallback> connect_callback) = 0; |
| virtual int32_t GetHandle(int32_t* handle) = 0; |
| }; |
| |
| // TODO(raymes): Merge this into PPB_Broker_API when the PPB_Broker proxy is |
| // refactored to the new resource model. The IsAllowed function should be |
| // attached to the resource implementing the PPB_Broker_API. However in order to |
| // implement this quickly, the function is added in a new instance API. |
| class PPB_Broker_Instance_API { |
| public: |
| virtual ~PPB_Broker_Instance_API() {} |
| |
| virtual PP_Bool IsAllowed() = 0; |
| |
| static const SingletonResourceID kSingletonResourceID = BROKER_SINGLETON_ID; |
| }; |
| |
| } // namespace thunk |
| } // namespace ppapi |
| |
| #endif // PPAPI_THUNK_PPB_BROKER_API_H_ |