// Copyright (c) 2010 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_CPP_DEV_SELECTION_DEV_H_ #define PPAPI_CPP_DEV_SELECTION_DEV_H_ #include "ppapi/c/dev/ppp_selection_dev.h" #include "ppapi/cpp/instance_handle.h" namespace pp { class Var; // This class allows you to associate the PPP_Selection_Dev C-based interface // with an object. It registers as the global handler for handling the // PPP_Selection_Dev interface that the browser calls. // // You would typically use this either via inheritance on your instance: // class MyInstance : public pp::Instance, public pp::Selection_Dev { // class MyInstance() : pp::Selection_Dev(this) { // } // ... // }; // // or by composition: // class MySelection : public pp::Selection_Dev { // ... // }; // // class MyInstance : public pp::Instance { // MyInstance() : selection_(this) { // } // // MySelection selection_; // }; class Selection_Dev { public: explicit Selection_Dev(Instance* instance); virtual ~Selection_Dev(); // PPP_Selection_Dev functions exposed as virtual functions for you to // override. virtual Var GetSelectedText(bool html) = 0; private: InstanceHandle associated_instance_; }; } // namespace pp #endif // PPAPI_CPP_DEV_SELECTION_DEV_H_