Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / extensions / api / webrtc_logging_private / webrtc_logging_private_api.h
1 // Copyright 2013 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 CHROME_BROWSER_EXTENSIONS_API_WEBRTC_LOGGING_PRIVATE_WEBRTC_LOGGING_PRIVATE_API_H_
6 #define CHROME_BROWSER_EXTENSIONS_API_WEBRTC_LOGGING_PRIVATE_WEBRTC_LOGGING_PRIVATE_API_H_
7
8 #include "chrome/browser/extensions/chrome_extension_function.h"
9 #include "chrome/common/extensions/api/webrtc_logging_private.h"
10
11 namespace content {
12
13 class RenderProcessHost;
14
15 }
16
17 namespace extensions {
18
19 // TODO(grunell). Merge this with WebrtcAudioPrivateTabIdFunction.
20 class WebrtcLoggingPrivateTabIdFunction : public ChromeAsyncExtensionFunction {
21  protected:
22   virtual ~WebrtcLoggingPrivateTabIdFunction() {}
23
24   content::RenderProcessHost* RphFromTabIdAndSecurityOrigin(
25       int tab_id, const std::string& security_origin);
26 };
27
28 class WebrtcLoggingPrivateSetMetaDataFunction
29     : public WebrtcLoggingPrivateTabIdFunction {
30  public:
31   DECLARE_EXTENSION_FUNCTION("webrtcLoggingPrivate.setMetaData",
32                              WEBRTCLOGGINGPRIVATE_SETMETADATA)
33   WebrtcLoggingPrivateSetMetaDataFunction();
34
35  private:
36   virtual ~WebrtcLoggingPrivateSetMetaDataFunction();
37
38   // ExtensionFunction overrides.
39   virtual bool RunAsync() OVERRIDE;
40
41   // Must be called on UI thread.
42   void SetMetaDataCallback(bool success, const std::string& error_message);
43 };
44
45 class WebrtcLoggingPrivateStartFunction
46     : public WebrtcLoggingPrivateTabIdFunction {
47  public:
48   DECLARE_EXTENSION_FUNCTION("webrtcLoggingPrivate.start",
49                              WEBRTCLOGGINGPRIVATE_START)
50   WebrtcLoggingPrivateStartFunction();
51
52  private:
53   virtual ~WebrtcLoggingPrivateStartFunction();
54
55   // ExtensionFunction overrides.
56   virtual bool RunAsync() OVERRIDE;
57
58   // Must be called on UI thread.
59   void StartCallback(bool success, const std::string& error_message);
60 };
61
62 class WebrtcLoggingPrivateSetUploadOnRenderCloseFunction
63     : public WebrtcLoggingPrivateTabIdFunction {
64  public:
65   DECLARE_EXTENSION_FUNCTION("webrtcLoggingPrivate.setUploadOnRenderClose",
66                              WEBRTCLOGGINGPRIVATE_SETUPLOADONRENDERCLOSE)
67   WebrtcLoggingPrivateSetUploadOnRenderCloseFunction();
68
69  private:
70   virtual ~WebrtcLoggingPrivateSetUploadOnRenderCloseFunction();
71
72   // ExtensionFunction overrides.
73   virtual bool RunAsync() OVERRIDE;
74 };
75
76 class WebrtcLoggingPrivateStopFunction
77     : public WebrtcLoggingPrivateTabIdFunction {
78  public:
79   DECLARE_EXTENSION_FUNCTION("webrtcLoggingPrivate.stop",
80                              WEBRTCLOGGINGPRIVATE_STOP)
81   WebrtcLoggingPrivateStopFunction();
82
83  private:
84   virtual ~WebrtcLoggingPrivateStopFunction();
85
86   // ExtensionFunction overrides.
87   virtual bool RunAsync() OVERRIDE;
88
89   // Must be called on UI thread.
90   void StopCallback(bool success, const std::string& error_message);
91 };
92
93 class WebrtcLoggingPrivateUploadFunction
94     : public WebrtcLoggingPrivateTabIdFunction {
95  public:
96   DECLARE_EXTENSION_FUNCTION("webrtcLoggingPrivate.upload",
97                              WEBRTCLOGGINGPRIVATE_UPLOAD)
98   WebrtcLoggingPrivateUploadFunction();
99
100  private:
101   virtual ~WebrtcLoggingPrivateUploadFunction();
102
103   // ExtensionFunction overrides.
104   virtual bool RunAsync() OVERRIDE;
105
106   // Must be called on UI thread.
107   void UploadCallback(bool success, const std::string& report_id,
108                       const std::string& error_message);
109 };
110
111 class WebrtcLoggingPrivateDiscardFunction
112     : public WebrtcLoggingPrivateTabIdFunction {
113  public:
114   DECLARE_EXTENSION_FUNCTION("webrtcLoggingPrivate.discard",
115                              WEBRTCLOGGINGPRIVATE_DISCARD)
116   WebrtcLoggingPrivateDiscardFunction();
117
118  private:
119   virtual ~WebrtcLoggingPrivateDiscardFunction();
120
121   // ExtensionFunction overrides.
122   virtual bool RunAsync() OVERRIDE;
123
124   // Must be called on UI thread.
125   void DiscardCallback(bool success, const std::string& error_message);
126 };
127
128 class WebrtcLoggingPrivateStartRtpDumpFunction
129     : public WebrtcLoggingPrivateTabIdFunction {
130  public:
131   DECLARE_EXTENSION_FUNCTION("webrtcLoggingPrivate.startRtpDump",
132                              WEBRTCLOGGINGPRIVATE_STARTRTPDUMP)
133   WebrtcLoggingPrivateStartRtpDumpFunction();
134
135  private:
136   virtual ~WebrtcLoggingPrivateStartRtpDumpFunction();
137
138   // ExtensionFunction overrides.
139   virtual bool RunAsync() OVERRIDE;
140
141   // Must be called on UI thread.
142   void StartRtpDumpCallback(bool success, const std::string& error_message);
143 };
144
145 class WebrtcLoggingPrivateStopRtpDumpFunction
146     : public WebrtcLoggingPrivateTabIdFunction {
147  public:
148   DECLARE_EXTENSION_FUNCTION("webrtcLoggingPrivate.stopRtpDump",
149                              WEBRTCLOGGINGPRIVATE_STOPRTPDUMP)
150   WebrtcLoggingPrivateStopRtpDumpFunction();
151
152  private:
153   virtual ~WebrtcLoggingPrivateStopRtpDumpFunction();
154
155   // ExtensionFunction overrides.
156   virtual bool RunAsync() OVERRIDE;
157
158   // Must be called on UI thread.
159   void StopRtpDumpCallback(bool success, const std::string& error_message);
160 };
161
162 }  // namespace extensions
163
164 #endif  // CHROME_BROWSER_EXTENSIONS_API_WEBRTC_LOGGING_PRIVATE_WEBRTC_LOGGING_PRIVATE_API_H_