1 // Copyright (c) 2010 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. 4 5 #ifndef PPAPI_CPP_DEV_SELECTION_DEV_H_ 6 #define PPAPI_CPP_DEV_SELECTION_DEV_H_ 7 8 #include "ppapi/c/dev/ppp_selection_dev.h" 9 #include "ppapi/cpp/instance_handle.h" 10 11 namespace pp { 12 13 class Var; 14 15 // This class allows you to associate the PPP_Selection_Dev C-based interface 16 // with an object. It registers as the global handler for handling the 17 // PPP_Selection_Dev interface that the browser calls. 18 // 19 // You would typically use this either via inheritance on your instance: 20 // class MyInstance : public pp::Instance, public pp::Selection_Dev { 21 // class MyInstance() : pp::Selection_Dev(this) { 22 // } 23 // ... 24 // }; 25 // 26 // or by composition: 27 // class MySelection : public pp::Selection_Dev { 28 // ... 29 // }; 30 // 31 // class MyInstance : public pp::Instance { 32 // MyInstance() : selection_(this) { 33 // } 34 // 35 // MySelection selection_; 36 // }; 37 class Selection_Dev { 38 public: 39 explicit Selection_Dev(Instance* instance); 40 virtual ~Selection_Dev(); 41 42 // PPP_Selection_Dev functions exposed as virtual functions for you to 43 // override. 44 virtual Var GetSelectedText(bool html) = 0; 45 46 private: 47 InstanceHandle associated_instance_; 48 }; 49 50 } // namespace pp 51 52 #endif // PPAPI_CPP_DEV_SELECTION_DEV_H_ 53