/* * DO NOT EDIT. THIS FILE IS GENERATED FROM $SRCDIR/xpcom/io/nsIDirectoryService.idl */ #ifndef __gen_nsIDirectoryService_h__ #define __gen_nsIDirectoryService_h__ #include "nsISupports.h" #include "js/GCAnnotations.h" /* For IDL files that don't want to include root IDL files. */ #ifndef NS_NO_VTABLE #define NS_NO_VTABLE #endif class nsIFile; /* forward declaration */ class nsISimpleEnumerator; /* forward declaration */ /* starting interface: nsIDirectoryServiceProvider */ #define NS_IDIRECTORYSERVICEPROVIDER_IID_STR "bbf8cab0-d43a-11d3-8cc2-00609792278c" #define NS_IDIRECTORYSERVICEPROVIDER_IID \ {0xbbf8cab0, 0xd43a, 0x11d3, \ { 0x8c, 0xc2, 0x00, 0x60, 0x97, 0x92, 0x27, 0x8c }} class NS_NO_VTABLE MOZ_BINDING(binding_to, idl, class, XPIDL_nsIDirectoryServiceProvider) nsIDirectoryServiceProvider : public nsISupports { public: NS_INLINE_DECL_STATIC_IID(NS_IDIRECTORYSERVICEPROVIDER_IID) /* Used by ToJSValue to check which scriptable interface is implemented. */ using ScriptableInterfaceType = nsIDirectoryServiceProvider; /* nsIFile getFile (in string prop, out boolean persistent); */ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIDirectoryServiceProvider_getFile) JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetFile(const char * prop, bool *persistent, nsIFile **_retval) = 0; }; /* Use this macro when declaring classes that implement this interface. */ #define NS_DECL_NSIDIRECTORYSERVICEPROVIDER \ NS_IMETHOD GetFile(const char * prop, bool *persistent, nsIFile **_retval) override; /* Use this macro when declaring the members of this interface when the class doesn't implement the interface. This is useful for forwarding. */ #define NS_DECL_NON_VIRTUAL_NSIDIRECTORYSERVICEPROVIDER \ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIDirectoryServiceProvider_getFile)\ nsresult GetFile(const char * prop, bool *persistent, nsIFile **_retval); /* Use this macro to declare functions that forward the behavior of this interface to another object. */ #define NS_FORWARD_NSIDIRECTORYSERVICEPROVIDER(_to) \ NS_IMETHOD GetFile(const char * prop, bool *persistent, nsIFile **_retval) override { return _to GetFile(prop, persistent, _retval); } /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */ #define NS_FORWARD_SAFE_NSIDIRECTORYSERVICEPROVIDER(_to) \ NS_IMETHOD GetFile(const char * prop, bool *persistent, nsIFile **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFile(prop, persistent, _retval); } /* starting interface: nsIDirectoryServiceProvider2 */ #define NS_IDIRECTORYSERVICEPROVIDER2_IID_STR "2f977d4b-5485-11d4-87e2-0010a4e75ef2" #define NS_IDIRECTORYSERVICEPROVIDER2_IID \ {0x2f977d4b, 0x5485, 0x11d4, \ { 0x87, 0xe2, 0x00, 0x10, 0xa4, 0xe7, 0x5e, 0xf2 }} class NS_NO_VTABLE MOZ_BINDING(binding_to, idl, class, XPIDL_nsIDirectoryServiceProvider2) nsIDirectoryServiceProvider2 : public nsIDirectoryServiceProvider { public: NS_INLINE_DECL_STATIC_IID(NS_IDIRECTORYSERVICEPROVIDER2_IID) /* Used by ToJSValue to check which scriptable interface is implemented. */ using ScriptableInterfaceType = nsIDirectoryServiceProvider2; /* nsISimpleEnumerator getFiles (in string prop); */ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIDirectoryServiceProvider2_getFiles) JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD GetFiles(const char * prop, nsISimpleEnumerator **_retval) = 0; }; /* Use this macro when declaring classes that implement this interface. */ #define NS_DECL_NSIDIRECTORYSERVICEPROVIDER2 \ NS_IMETHOD GetFiles(const char * prop, nsISimpleEnumerator **_retval) override; /* Use this macro when declaring the members of this interface when the class doesn't implement the interface. This is useful for forwarding. */ #define NS_DECL_NON_VIRTUAL_NSIDIRECTORYSERVICEPROVIDER2 \ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIDirectoryServiceProvider2_getFiles)\ nsresult GetFiles(const char * prop, nsISimpleEnumerator **_retval); /* Use this macro to declare functions that forward the behavior of this interface to another object. */ #define NS_FORWARD_NSIDIRECTORYSERVICEPROVIDER2(_to) \ NS_IMETHOD GetFiles(const char * prop, nsISimpleEnumerator **_retval) override { return _to GetFiles(prop, _retval); } /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */ #define NS_FORWARD_SAFE_NSIDIRECTORYSERVICEPROVIDER2(_to) \ NS_IMETHOD GetFiles(const char * prop, nsISimpleEnumerator **_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFiles(prop, _retval); } /* starting interface: nsIDirectoryService */ #define NS_IDIRECTORYSERVICE_IID_STR "57a66a60-d43a-11d3-8cc2-00609792278c" #define NS_IDIRECTORYSERVICE_IID \ {0x57a66a60, 0xd43a, 0x11d3, \ { 0x8c, 0xc2, 0x00, 0x60, 0x97, 0x92, 0x27, 0x8c }} class NS_NO_VTABLE MOZ_BINDING(binding_to, idl, class, XPIDL_nsIDirectoryService) nsIDirectoryService : public nsISupports { public: NS_INLINE_DECL_STATIC_IID(NS_IDIRECTORYSERVICE_IID) /* Used by ToJSValue to check which scriptable interface is implemented. */ using ScriptableInterfaceType = nsIDirectoryService; /* void init (); */ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIDirectoryService_init) JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD Init(void) = 0; /* void registerProvider (in nsIDirectoryServiceProvider prov); */ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIDirectoryService_registerProvider) JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD RegisterProvider(nsIDirectoryServiceProvider *prov) = 0; /* void unregisterProvider (in nsIDirectoryServiceProvider prov); */ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIDirectoryService_unregisterProvider) JS_HAZ_CAN_RUN_SCRIPT NS_IMETHOD UnregisterProvider(nsIDirectoryServiceProvider *prov) = 0; }; /* Use this macro when declaring classes that implement this interface. */ #define NS_DECL_NSIDIRECTORYSERVICE \ NS_IMETHOD Init(void) override; \ NS_IMETHOD RegisterProvider(nsIDirectoryServiceProvider *prov) override; \ NS_IMETHOD UnregisterProvider(nsIDirectoryServiceProvider *prov) override; /* Use this macro when declaring the members of this interface when the class doesn't implement the interface. This is useful for forwarding. */ #define NS_DECL_NON_VIRTUAL_NSIDIRECTORYSERVICE \ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIDirectoryService_init)\ nsresult Init(void); \ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIDirectoryService_registerProvider)\ nsresult RegisterProvider(nsIDirectoryServiceProvider *prov); \ MOZ_BINDING(binding_to, idl, method, XPIDL_nsIDirectoryService_unregisterProvider)\ nsresult UnregisterProvider(nsIDirectoryServiceProvider *prov); /* Use this macro to declare functions that forward the behavior of this interface to another object. */ #define NS_FORWARD_NSIDIRECTORYSERVICE(_to) \ NS_IMETHOD Init(void) override { return _to Init(); } \ NS_IMETHOD RegisterProvider(nsIDirectoryServiceProvider *prov) override { return _to RegisterProvider(prov); } \ NS_IMETHOD UnregisterProvider(nsIDirectoryServiceProvider *prov) override { return _to UnregisterProvider(prov); } /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */ #define NS_FORWARD_SAFE_NSIDIRECTORYSERVICE(_to) \ NS_IMETHOD Init(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(); } \ NS_IMETHOD RegisterProvider(nsIDirectoryServiceProvider *prov) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RegisterProvider(prov); } \ NS_IMETHOD UnregisterProvider(nsIDirectoryServiceProvider *prov) override { return !_to ? NS_ERROR_NULL_POINTER : _to->UnregisterProvider(prov); } #endif /* __gen_nsIDirectoryService_h__ */