LCOV - code coverage report
Current view: top level - obj-x86_64-pc-linux-gnu/dist/include - nsIPluginHost.h (source / functions) Hit Total Coverage
Test: output.info Lines: 1 2 50.0 %
Date: 2017-07-14 16:53:18 Functions: 1 2 50.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :  * DO NOT EDIT.  THIS FILE IS GENERATED FROM ../../../dist/idl/nsIPluginHost.idl
       3             :  */
       4             : 
       5             : #ifndef __gen_nsIPluginHost_h__
       6             : #define __gen_nsIPluginHost_h__
       7             : 
       8             : 
       9             : #ifndef __gen_nspluginroot_h__
      10             : #include "nspluginroot.h"
      11             : #endif
      12             : 
      13             : #ifndef __gen_nsISupports_h__
      14             : #include "nsISupports.h"
      15             : #endif
      16             : 
      17             : #ifndef __gen_nsIPluginTag_h__
      18             : #include "nsIPluginTag.h"
      19             : #endif
      20             : 
      21             : #include "js/Value.h"
      22             : 
      23             : /* For IDL files that don't want to include root IDL files. */
      24             : #ifndef NS_NO_VTABLE
      25             : #define NS_NO_VTABLE
      26             : #endif
      27             : #define MOZ_PLUGIN_HOST_CONTRACTID \
      28             :   "@mozilla.org/plugin/host;1"
      29             : 
      30             : /* starting interface:    nsIClearSiteDataCallback */
      31             : #define NS_ICLEARSITEDATACALLBACK_IID_STR "9c311778-7c2c-4ad8-b439-b8a2786a20dd"
      32             : 
      33             : #define NS_ICLEARSITEDATACALLBACK_IID \
      34             :   {0x9c311778, 0x7c2c, 0x4ad8, \
      35             :     { 0xb4, 0x39, 0xb8, 0xa2, 0x78, 0x6a, 0x20, 0xdd }}
      36             : 
      37           0 : class NS_NO_VTABLE nsIClearSiteDataCallback : public nsISupports {
      38             :  public:
      39             : 
      40             :   NS_DECLARE_STATIC_IID_ACCESSOR(NS_ICLEARSITEDATACALLBACK_IID)
      41             : 
      42             :   /* void callback (in nsresult rv); */
      43             :   NS_IMETHOD Callback(nsresult rv) = 0;
      44             : 
      45             : };
      46             : 
      47             :   NS_DEFINE_STATIC_IID_ACCESSOR(nsIClearSiteDataCallback, NS_ICLEARSITEDATACALLBACK_IID)
      48             : 
      49             : /* Use this macro when declaring classes that implement this interface. */
      50             : #define NS_DECL_NSICLEARSITEDATACALLBACK \
      51             :   NS_IMETHOD Callback(nsresult rv) override; 
      52             : 
      53             : /* Use this macro when declaring the members of this interface when the
      54             :    class doesn't implement the interface. This is useful for forwarding. */
      55             : #define NS_DECL_NON_VIRTUAL_NSICLEARSITEDATACALLBACK \
      56             :   nsresult Callback(nsresult rv); 
      57             : 
      58             : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
      59             : #define NS_FORWARD_NSICLEARSITEDATACALLBACK(_to) \
      60             :   NS_IMETHOD Callback(nsresult rv) override { return _to Callback(rv); } 
      61             : 
      62             : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
      63             : #define NS_FORWARD_SAFE_NSICLEARSITEDATACALLBACK(_to) \
      64             :   NS_IMETHOD Callback(nsresult rv) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Callback(rv); } 
      65             : 
      66             : #if 0
      67             : /* Use the code below as a template for the implementation class for this interface. */
      68             : 
      69             : /* Header file */
      70             : class nsClearSiteDataCallback : public nsIClearSiteDataCallback
      71             : {
      72             : public:
      73             :   NS_DECL_ISUPPORTS
      74             :   NS_DECL_NSICLEARSITEDATACALLBACK
      75             : 
      76             :   nsClearSiteDataCallback();
      77             : 
      78             : private:
      79             :   ~nsClearSiteDataCallback();
      80             : 
      81             : protected:
      82             :   /* additional members */
      83             : };
      84             : 
      85             : /* Implementation file */
      86             : NS_IMPL_ISUPPORTS(nsClearSiteDataCallback, nsIClearSiteDataCallback)
      87             : 
      88             : nsClearSiteDataCallback::nsClearSiteDataCallback()
      89             : {
      90             :   /* member initializers and constructor code */
      91             : }
      92             : 
      93             : nsClearSiteDataCallback::~nsClearSiteDataCallback()
      94             : {
      95             :   /* destructor code */
      96             : }
      97             : 
      98             : /* void callback (in nsresult rv); */
      99             : NS_IMETHODIMP nsClearSiteDataCallback::Callback(nsresult rv)
     100             : {
     101             :     return NS_ERROR_NOT_IMPLEMENTED;
     102             : }
     103             : 
     104             : /* End of implementation class template. */
     105             : #endif
     106             : 
     107             : 
     108             : /* starting interface:    nsIPluginHost */
     109             : #define NS_IPLUGINHOST_IID_STR "f938f5ba-7093-42cd-a559-af8039d99204"
     110             : 
     111             : #define NS_IPLUGINHOST_IID \
     112             :   {0xf938f5ba, 0x7093, 0x42cd, \
     113             :     { 0xa5, 0x59, 0xaf, 0x80, 0x39, 0xd9, 0x92, 0x04 }}
     114             : 
     115           3 : class NS_NO_VTABLE nsIPluginHost : public nsISupports {
     116             :  public:
     117             : 
     118             :   NS_DECLARE_STATIC_IID_ACCESSOR(NS_IPLUGINHOST_IID)
     119             : 
     120             :   /* void reloadPlugins (); */
     121             :   NS_IMETHOD ReloadPlugins(void) = 0;
     122             : 
     123             :   /* void getPluginTags ([optional] out unsigned long aPluginCount, [array, size_is (aPluginCount), retval] out nsIPluginTag aResults); */
     124             :   NS_IMETHOD GetPluginTags(uint32_t *aPluginCount, nsIPluginTag * **aResults) = 0;
     125             : 
     126             :   enum {
     127             :     FLAG_CLEAR_ALL = 0U,
     128             :     FLAG_CLEAR_CACHE = 1U,
     129             :     EXCLUDE_NONE = 0U,
     130             :     EXCLUDE_DISABLED = 1U,
     131             :     EXCLUDE_FAKE = 2U
     132             :   };
     133             : 
     134             :   /* void clearSiteData (in nsIPluginTag plugin, in AUTF8String domain, in uint64_t flags, in int64_t maxAge, in nsIClearSiteDataCallback callback); */
     135             :   NS_IMETHOD ClearSiteData(nsIPluginTag *plugin, const nsACString & domain, uint64_t flags, int64_t maxAge, nsIClearSiteDataCallback *callback) = 0;
     136             : 
     137             :   /* boolean siteHasData (in nsIPluginTag plugin, in AUTF8String domain); */
     138             :   NS_IMETHOD SiteHasData(nsIPluginTag *plugin, const nsACString & domain, bool *_retval) = 0;
     139             : 
     140             :   /* ACString getPermissionStringForType (in AUTF8String mimeType, [optional] in uint32_t excludeFlags); */
     141             :   NS_IMETHOD GetPermissionStringForType(const nsACString & mimeType, uint32_t excludeFlags, nsACString & _retval) = 0;
     142             : 
     143             :   /* ACString getPermissionStringForTag (in nsIPluginTag tag, [optional] in uint32_t excludeFlags); */
     144             :   NS_IMETHOD GetPermissionStringForTag(nsIPluginTag *tag, uint32_t excludeFlags, nsACString & _retval) = 0;
     145             : 
     146             :   /* nsIPluginTag getPluginTagForType (in AUTF8String mimeType, [optional] in uint32_t excludeFlags); */
     147             :   NS_IMETHOD GetPluginTagForType(const nsACString & mimeType, uint32_t excludeFlags, nsIPluginTag * *_retval) = 0;
     148             : 
     149             :   /* unsigned long getStateForType (in AUTF8String mimeType, [optional] in uint32_t excludeFlags); */
     150             :   NS_IMETHOD GetStateForType(const nsACString & mimeType, uint32_t excludeFlags, uint32_t *_retval) = 0;
     151             : 
     152             :   /* uint32_t getBlocklistStateForType (in AUTF8String aMimeType, [optional] in uint32_t excludeFlags); */
     153             :   NS_IMETHOD GetBlocklistStateForType(const nsACString & aMimeType, uint32_t excludeFlags, uint32_t *_retval) = 0;
     154             : 
     155             :   /* [implicit_jscontext] nsIFakePluginTag registerFakePlugin (in jsval initDictionary); */
     156             :   NS_IMETHOD RegisterFakePlugin(JS::HandleValue initDictionary, JSContext* cx, nsIFakePluginTag * *_retval) = 0;
     157             : 
     158             :   /* nsIFakePluginTag getFakePlugin (in AUTF8String mimeType); */
     159             :   NS_IMETHOD GetFakePlugin(const nsACString & mimeType, nsIFakePluginTag * *_retval) = 0;
     160             : 
     161             :   /* void unregisterFakePlugin (in AUTF8String handlerURI); */
     162             :   NS_IMETHOD UnregisterFakePlugin(const nsACString & handlerURI) = 0;
     163             : 
     164             : };
     165             : 
     166             :   NS_DEFINE_STATIC_IID_ACCESSOR(nsIPluginHost, NS_IPLUGINHOST_IID)
     167             : 
     168             : /* Use this macro when declaring classes that implement this interface. */
     169             : #define NS_DECL_NSIPLUGINHOST \
     170             :   NS_IMETHOD ReloadPlugins(void) override; \
     171             :   NS_IMETHOD GetPluginTags(uint32_t *aPluginCount, nsIPluginTag * **aResults) override; \
     172             :   NS_IMETHOD ClearSiteData(nsIPluginTag *plugin, const nsACString & domain, uint64_t flags, int64_t maxAge, nsIClearSiteDataCallback *callback) override; \
     173             :   NS_IMETHOD SiteHasData(nsIPluginTag *plugin, const nsACString & domain, bool *_retval) override; \
     174             :   NS_IMETHOD GetPermissionStringForType(const nsACString & mimeType, uint32_t excludeFlags, nsACString & _retval) override; \
     175             :   NS_IMETHOD GetPermissionStringForTag(nsIPluginTag *tag, uint32_t excludeFlags, nsACString & _retval) override; \
     176             :   NS_IMETHOD GetPluginTagForType(const nsACString & mimeType, uint32_t excludeFlags, nsIPluginTag * *_retval) override; \
     177             :   NS_IMETHOD GetStateForType(const nsACString & mimeType, uint32_t excludeFlags, uint32_t *_retval) override; \
     178             :   NS_IMETHOD GetBlocklistStateForType(const nsACString & aMimeType, uint32_t excludeFlags, uint32_t *_retval) override; \
     179             :   NS_IMETHOD RegisterFakePlugin(JS::HandleValue initDictionary, JSContext* cx, nsIFakePluginTag * *_retval) override; \
     180             :   NS_IMETHOD GetFakePlugin(const nsACString & mimeType, nsIFakePluginTag * *_retval) override; \
     181             :   NS_IMETHOD UnregisterFakePlugin(const nsACString & handlerURI) override; 
     182             : 
     183             : /* Use this macro when declaring the members of this interface when the
     184             :    class doesn't implement the interface. This is useful for forwarding. */
     185             : #define NS_DECL_NON_VIRTUAL_NSIPLUGINHOST \
     186             :   nsresult ReloadPlugins(void); \
     187             :   nsresult GetPluginTags(uint32_t *aPluginCount, nsIPluginTag * **aResults); \
     188             :   nsresult ClearSiteData(nsIPluginTag *plugin, const nsACString & domain, uint64_t flags, int64_t maxAge, nsIClearSiteDataCallback *callback); \
     189             :   nsresult SiteHasData(nsIPluginTag *plugin, const nsACString & domain, bool *_retval); \
     190             :   nsresult GetPermissionStringForType(const nsACString & mimeType, uint32_t excludeFlags, nsACString & _retval); \
     191             :   nsresult GetPermissionStringForTag(nsIPluginTag *tag, uint32_t excludeFlags, nsACString & _retval); \
     192             :   nsresult GetPluginTagForType(const nsACString & mimeType, uint32_t excludeFlags, nsIPluginTag * *_retval); \
     193             :   nsresult GetStateForType(const nsACString & mimeType, uint32_t excludeFlags, uint32_t *_retval); \
     194             :   nsresult GetBlocklistStateForType(const nsACString & aMimeType, uint32_t excludeFlags, uint32_t *_retval); \
     195             :   nsresult RegisterFakePlugin(JS::HandleValue initDictionary, JSContext* cx, nsIFakePluginTag * *_retval); \
     196             :   nsresult GetFakePlugin(const nsACString & mimeType, nsIFakePluginTag * *_retval); \
     197             :   nsresult UnregisterFakePlugin(const nsACString & handlerURI); 
     198             : 
     199             : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
     200             : #define NS_FORWARD_NSIPLUGINHOST(_to) \
     201             :   NS_IMETHOD ReloadPlugins(void) override { return _to ReloadPlugins(); } \
     202             :   NS_IMETHOD GetPluginTags(uint32_t *aPluginCount, nsIPluginTag * **aResults) override { return _to GetPluginTags(aPluginCount, aResults); } \
     203             :   NS_IMETHOD ClearSiteData(nsIPluginTag *plugin, const nsACString & domain, uint64_t flags, int64_t maxAge, nsIClearSiteDataCallback *callback) override { return _to ClearSiteData(plugin, domain, flags, maxAge, callback); } \
     204             :   NS_IMETHOD SiteHasData(nsIPluginTag *plugin, const nsACString & domain, bool *_retval) override { return _to SiteHasData(plugin, domain, _retval); } \
     205             :   NS_IMETHOD GetPermissionStringForType(const nsACString & mimeType, uint32_t excludeFlags, nsACString & _retval) override { return _to GetPermissionStringForType(mimeType, excludeFlags, _retval); } \
     206             :   NS_IMETHOD GetPermissionStringForTag(nsIPluginTag *tag, uint32_t excludeFlags, nsACString & _retval) override { return _to GetPermissionStringForTag(tag, excludeFlags, _retval); } \
     207             :   NS_IMETHOD GetPluginTagForType(const nsACString & mimeType, uint32_t excludeFlags, nsIPluginTag * *_retval) override { return _to GetPluginTagForType(mimeType, excludeFlags, _retval); } \
     208             :   NS_IMETHOD GetStateForType(const nsACString & mimeType, uint32_t excludeFlags, uint32_t *_retval) override { return _to GetStateForType(mimeType, excludeFlags, _retval); } \
     209             :   NS_IMETHOD GetBlocklistStateForType(const nsACString & aMimeType, uint32_t excludeFlags, uint32_t *_retval) override { return _to GetBlocklistStateForType(aMimeType, excludeFlags, _retval); } \
     210             :   NS_IMETHOD RegisterFakePlugin(JS::HandleValue initDictionary, JSContext* cx, nsIFakePluginTag * *_retval) override { return _to RegisterFakePlugin(initDictionary, cx, _retval); } \
     211             :   NS_IMETHOD GetFakePlugin(const nsACString & mimeType, nsIFakePluginTag * *_retval) override { return _to GetFakePlugin(mimeType, _retval); } \
     212             :   NS_IMETHOD UnregisterFakePlugin(const nsACString & handlerURI) override { return _to UnregisterFakePlugin(handlerURI); } 
     213             : 
     214             : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
     215             : #define NS_FORWARD_SAFE_NSIPLUGINHOST(_to) \
     216             :   NS_IMETHOD ReloadPlugins(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ReloadPlugins(); } \
     217             :   NS_IMETHOD GetPluginTags(uint32_t *aPluginCount, nsIPluginTag * **aResults) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPluginTags(aPluginCount, aResults); } \
     218             :   NS_IMETHOD ClearSiteData(nsIPluginTag *plugin, const nsACString & domain, uint64_t flags, int64_t maxAge, nsIClearSiteDataCallback *callback) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ClearSiteData(plugin, domain, flags, maxAge, callback); } \
     219             :   NS_IMETHOD SiteHasData(nsIPluginTag *plugin, const nsACString & domain, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SiteHasData(plugin, domain, _retval); } \
     220             :   NS_IMETHOD GetPermissionStringForType(const nsACString & mimeType, uint32_t excludeFlags, nsACString & _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPermissionStringForType(mimeType, excludeFlags, _retval); } \
     221             :   NS_IMETHOD GetPermissionStringForTag(nsIPluginTag *tag, uint32_t excludeFlags, nsACString & _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPermissionStringForTag(tag, excludeFlags, _retval); } \
     222             :   NS_IMETHOD GetPluginTagForType(const nsACString & mimeType, uint32_t excludeFlags, nsIPluginTag * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPluginTagForType(mimeType, excludeFlags, _retval); } \
     223             :   NS_IMETHOD GetStateForType(const nsACString & mimeType, uint32_t excludeFlags, uint32_t *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetStateForType(mimeType, excludeFlags, _retval); } \
     224             :   NS_IMETHOD GetBlocklistStateForType(const nsACString & aMimeType, uint32_t excludeFlags, uint32_t *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBlocklistStateForType(aMimeType, excludeFlags, _retval); } \
     225             :   NS_IMETHOD RegisterFakePlugin(JS::HandleValue initDictionary, JSContext* cx, nsIFakePluginTag * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RegisterFakePlugin(initDictionary, cx, _retval); } \
     226             :   NS_IMETHOD GetFakePlugin(const nsACString & mimeType, nsIFakePluginTag * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFakePlugin(mimeType, _retval); } \
     227             :   NS_IMETHOD UnregisterFakePlugin(const nsACString & handlerURI) override { return !_to ? NS_ERROR_NULL_POINTER : _to->UnregisterFakePlugin(handlerURI); } 
     228             : 
     229             : #if 0
     230             : /* Use the code below as a template for the implementation class for this interface. */
     231             : 
     232             : /* Header file */
     233             : class nsPluginHost : public nsIPluginHost
     234             : {
     235             : public:
     236             :   NS_DECL_ISUPPORTS
     237             :   NS_DECL_NSIPLUGINHOST
     238             : 
     239             :   nsPluginHost();
     240             : 
     241             : private:
     242             :   ~nsPluginHost();
     243             : 
     244             : protected:
     245             :   /* additional members */
     246             : };
     247             : 
     248             : /* Implementation file */
     249             : NS_IMPL_ISUPPORTS(nsPluginHost, nsIPluginHost)
     250             : 
     251             : nsPluginHost::nsPluginHost()
     252             : {
     253             :   /* member initializers and constructor code */
     254             : }
     255             : 
     256             : nsPluginHost::~nsPluginHost()
     257             : {
     258             :   /* destructor code */
     259             : }
     260             : 
     261             : /* void reloadPlugins (); */
     262             : NS_IMETHODIMP nsPluginHost::ReloadPlugins()
     263             : {
     264             :     return NS_ERROR_NOT_IMPLEMENTED;
     265             : }
     266             : 
     267             : /* void getPluginTags ([optional] out unsigned long aPluginCount, [array, size_is (aPluginCount), retval] out nsIPluginTag aResults); */
     268             : NS_IMETHODIMP nsPluginHost::GetPluginTags(uint32_t *aPluginCount, nsIPluginTag * **aResults)
     269             : {
     270             :     return NS_ERROR_NOT_IMPLEMENTED;
     271             : }
     272             : 
     273             : /* void clearSiteData (in nsIPluginTag plugin, in AUTF8String domain, in uint64_t flags, in int64_t maxAge, in nsIClearSiteDataCallback callback); */
     274             : NS_IMETHODIMP nsPluginHost::ClearSiteData(nsIPluginTag *plugin, const nsACString & domain, uint64_t flags, int64_t maxAge, nsIClearSiteDataCallback *callback)
     275             : {
     276             :     return NS_ERROR_NOT_IMPLEMENTED;
     277             : }
     278             : 
     279             : /* boolean siteHasData (in nsIPluginTag plugin, in AUTF8String domain); */
     280             : NS_IMETHODIMP nsPluginHost::SiteHasData(nsIPluginTag *plugin, const nsACString & domain, bool *_retval)
     281             : {
     282             :     return NS_ERROR_NOT_IMPLEMENTED;
     283             : }
     284             : 
     285             : /* ACString getPermissionStringForType (in AUTF8String mimeType, [optional] in uint32_t excludeFlags); */
     286             : NS_IMETHODIMP nsPluginHost::GetPermissionStringForType(const nsACString & mimeType, uint32_t excludeFlags, nsACString & _retval)
     287             : {
     288             :     return NS_ERROR_NOT_IMPLEMENTED;
     289             : }
     290             : 
     291             : /* ACString getPermissionStringForTag (in nsIPluginTag tag, [optional] in uint32_t excludeFlags); */
     292             : NS_IMETHODIMP nsPluginHost::GetPermissionStringForTag(nsIPluginTag *tag, uint32_t excludeFlags, nsACString & _retval)
     293             : {
     294             :     return NS_ERROR_NOT_IMPLEMENTED;
     295             : }
     296             : 
     297             : /* nsIPluginTag getPluginTagForType (in AUTF8String mimeType, [optional] in uint32_t excludeFlags); */
     298             : NS_IMETHODIMP nsPluginHost::GetPluginTagForType(const nsACString & mimeType, uint32_t excludeFlags, nsIPluginTag * *_retval)
     299             : {
     300             :     return NS_ERROR_NOT_IMPLEMENTED;
     301             : }
     302             : 
     303             : /* unsigned long getStateForType (in AUTF8String mimeType, [optional] in uint32_t excludeFlags); */
     304             : NS_IMETHODIMP nsPluginHost::GetStateForType(const nsACString & mimeType, uint32_t excludeFlags, uint32_t *_retval)
     305             : {
     306             :     return NS_ERROR_NOT_IMPLEMENTED;
     307             : }
     308             : 
     309             : /* uint32_t getBlocklistStateForType (in AUTF8String aMimeType, [optional] in uint32_t excludeFlags); */
     310             : NS_IMETHODIMP nsPluginHost::GetBlocklistStateForType(const nsACString & aMimeType, uint32_t excludeFlags, uint32_t *_retval)
     311             : {
     312             :     return NS_ERROR_NOT_IMPLEMENTED;
     313             : }
     314             : 
     315             : /* [implicit_jscontext] nsIFakePluginTag registerFakePlugin (in jsval initDictionary); */
     316             : NS_IMETHODIMP nsPluginHost::RegisterFakePlugin(JS::HandleValue initDictionary, JSContext* cx, nsIFakePluginTag * *_retval)
     317             : {
     318             :     return NS_ERROR_NOT_IMPLEMENTED;
     319             : }
     320             : 
     321             : /* nsIFakePluginTag getFakePlugin (in AUTF8String mimeType); */
     322             : NS_IMETHODIMP nsPluginHost::GetFakePlugin(const nsACString & mimeType, nsIFakePluginTag * *_retval)
     323             : {
     324             :     return NS_ERROR_NOT_IMPLEMENTED;
     325             : }
     326             : 
     327             : /* void unregisterFakePlugin (in AUTF8String handlerURI); */
     328             : NS_IMETHODIMP nsPluginHost::UnregisterFakePlugin(const nsACString & handlerURI)
     329             : {
     330             :     return NS_ERROR_NOT_IMPLEMENTED;
     331             : }
     332             : 
     333             : /* End of implementation class template. */
     334             : #endif
     335             : 
     336             : 
     337             : #endif /* __gen_nsIPluginHost_h__ */

Generated by: LCOV version 1.13