Home | History | Annotate | Download | only in webrtc_logging_private
      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_
    165