- add sources.
[platform/framework/web/crosswalk.git] / src / ppapi / cpp / dev / selection_dev.h
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_