PageRenderTime 48ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/mozilla/mozilla/dist/include/widget/nsITransferable.h

http://kmbrasil.codeplex.com
C++ Header | 373 lines | 183 code | 65 blank | 125 comment | 0 complexity | 98dca504ceffa8c4d1ad45ae4c26b5c8 MD5 | raw file
Possible License(s): MPL-2.0-no-copyleft-exception, GPL-2.0
  1. /*
  2. * DO NOT EDIT. THIS FILE IS GENERATED FROM h:/projects/mozilla/mozilla/widget/public/nsITransferable.idl
  3. */
  4. #ifndef __gen_nsITransferable_h__
  5. #define __gen_nsITransferable_h__
  6. #ifndef __gen_nsISupports_h__
  7. #include "nsISupports.h"
  8. #endif
  9. #ifndef __gen_nsISupportsArray_h__
  10. #include "nsISupportsArray.h"
  11. #endif
  12. #ifndef __gen_nsIFormatConverter_h__
  13. #include "nsIFormatConverter.h"
  14. #endif
  15. /* For IDL files that don't want to include root IDL files. */
  16. #ifndef NS_NO_VTABLE
  17. #define NS_NO_VTABLE
  18. #endif
  19. // these probably shouldn't live here, but in some central repository shared
  20. // by the entire app.
  21. #define kTextMime "text/plain"
  22. #define kUnicodeMime "text/unicode"
  23. #define kHTMLMime "text/html"
  24. #define kAOLMailMime "AOLMAIL"
  25. #define kPNGImageMime "image/png"
  26. #define kJPEGImageMime "image/jpg"
  27. #define kGIFImageMime "image/gif"
  28. #define kFileMime "application/x-moz-file"
  29. #define kURLMime "text/x-moz-url" // data contains url\ntitle
  30. #define kURLDataMime "text/x-moz-url-data" // data contains url only
  31. #define kURLDescriptionMime "text/x-moz-url-desc" // data contains description
  32. #define kURLPrivateMime "text/x-moz-url-priv" // same as kURLDataMime but for private uses
  33. #define kNativeImageMime "application/x-moz-nativeimage"
  34. #define kNativeHTMLMime "application/x-moz-nativehtml"
  35. // the source URL for a file promise
  36. #define kFilePromiseURLMime "application/x-moz-file-promise-url"
  37. // the destination filename for a file promise
  38. #define kFilePromiseDestFilename "application/x-moz-file-promise-dest-filename"
  39. // a dataless flavor used to interact with the OS during file drags
  40. #define kFilePromiseMime "application/x-moz-file-promise"
  41. // a synthetic flavor, put into the transferable once we know the destination directory of a file drag
  42. #define kFilePromiseDirectoryMime "application/x-moz-file-promise-dir"
  43. class nsITransferable; /* forward declaration */
  44. /* starting interface: nsIFlavorDataProvider */
  45. #define NS_IFLAVORDATAPROVIDER_IID_STR "7e225e5f-711c-11d7-9fae-000393636592"
  46. #define NS_IFLAVORDATAPROVIDER_IID \
  47. {0x7e225e5f, 0x711c, 0x11d7, \
  48. { 0x9f, 0xae, 0x00, 0x03, 0x93, 0x63, 0x65, 0x92 }}
  49. class NS_NO_VTABLE nsIFlavorDataProvider : public nsISupports {
  50. public:
  51. NS_DEFINE_STATIC_IID_ACCESSOR(NS_IFLAVORDATAPROVIDER_IID)
  52. /**
  53. * Retrieve the data from this data provider.
  54. *
  55. * @param aTransferable (in parameter) the transferable we're being called for.
  56. * @param aFlavor (in parameter) the flavor of data to retrieve
  57. * @param aData the data. Some variant of class in nsISupportsPrimitives.idl
  58. * @param aDataLen the length of the data
  59. */
  60. /* void getFlavorData (in nsITransferable aTransferable, in string aFlavor, out nsISupports aData, out unsigned long aDataLen); */
  61. NS_IMETHOD GetFlavorData(nsITransferable *aTransferable, const char *aFlavor, nsISupports **aData, PRUint32 *aDataLen) = 0;
  62. };
  63. /* Use this macro when declaring classes that implement this interface. */
  64. #define NS_DECL_NSIFLAVORDATAPROVIDER \
  65. NS_IMETHOD GetFlavorData(nsITransferable *aTransferable, const char *aFlavor, nsISupports **aData, PRUint32 *aDataLen);
  66. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  67. #define NS_FORWARD_NSIFLAVORDATAPROVIDER(_to) \
  68. NS_IMETHOD GetFlavorData(nsITransferable *aTransferable, const char *aFlavor, nsISupports **aData, PRUint32 *aDataLen) { return _to GetFlavorData(aTransferable, aFlavor, aData, aDataLen); }
  69. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  70. #define NS_FORWARD_SAFE_NSIFLAVORDATAPROVIDER(_to) \
  71. NS_IMETHOD GetFlavorData(nsITransferable *aTransferable, const char *aFlavor, nsISupports **aData, PRUint32 *aDataLen) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFlavorData(aTransferable, aFlavor, aData, aDataLen); }
  72. #if 0
  73. /* Use the code below as a template for the implementation class for this interface. */
  74. /* Header file */
  75. class nsFlavorDataProvider : public nsIFlavorDataProvider
  76. {
  77. public:
  78. NS_DECL_ISUPPORTS
  79. NS_DECL_NSIFLAVORDATAPROVIDER
  80. nsFlavorDataProvider();
  81. private:
  82. ~nsFlavorDataProvider();
  83. protected:
  84. /* additional members */
  85. };
  86. /* Implementation file */
  87. NS_IMPL_ISUPPORTS1(nsFlavorDataProvider, nsIFlavorDataProvider)
  88. nsFlavorDataProvider::nsFlavorDataProvider()
  89. {
  90. /* member initializers and constructor code */
  91. }
  92. nsFlavorDataProvider::~nsFlavorDataProvider()
  93. {
  94. /* destructor code */
  95. }
  96. /* void getFlavorData (in nsITransferable aTransferable, in string aFlavor, out nsISupports aData, out unsigned long aDataLen); */
  97. NS_IMETHODIMP nsFlavorDataProvider::GetFlavorData(nsITransferable *aTransferable, const char *aFlavor, nsISupports **aData, PRUint32 *aDataLen)
  98. {
  99. return NS_ERROR_NOT_IMPLEMENTED;
  100. }
  101. /* End of implementation class template. */
  102. #endif
  103. /* starting interface: nsITransferable */
  104. #define NS_ITRANSFERABLE_IID_STR "8b5314bc-db01-11d2-96ce-0060b0fb9956"
  105. #define NS_ITRANSFERABLE_IID \
  106. {0x8b5314bc, 0xdb01, 0x11d2, \
  107. { 0x96, 0xce, 0x00, 0x60, 0xb0, 0xfb, 0x99, 0x56 }}
  108. /**
  109. * nsIFlavorDataProvider allows a flavor to 'promise' data later,
  110. * supplying the data lazily.
  111. *
  112. * To use it, call setTransferData, passing the flavor string,
  113. * a nsIFlavorDataProvider QI'd to nsISupports, and a data size of 0.
  114. *
  115. * When someone calls getTransferData later, if the data size is
  116. * stored as 0, the nsISupports will be QI'd to nsIFlavorDataProvider,
  117. * and its getFlavorData called.
  118. *
  119. */
  120. class NS_NO_VTABLE nsITransferable : public nsISupports {
  121. public:
  122. NS_DEFINE_STATIC_IID_ACCESSOR(NS_ITRANSFERABLE_IID)
  123. enum { kFlavorHasDataProvider = 0 };
  124. /**
  125. * Computes a list of flavors (mime types as nsISupportsCString) that the transferable
  126. * can export, either through intrinsic knowledge or output data converters.
  127. *
  128. * @param aDataFlavorList fills list with supported flavors. This is a copy of
  129. * the internal list, so it may be edited w/out affecting the transferable.
  130. */
  131. /* nsISupportsArray flavorsTransferableCanExport (); */
  132. NS_IMETHOD FlavorsTransferableCanExport(nsISupportsArray **_retval) = 0;
  133. /**
  134. * Given a flavor retrieve the data.
  135. *
  136. * @param aFlavor (in parameter) the flavor of data to retrieve
  137. * @param aData the data. Some variant of class in nsISupportsPrimitives.idl
  138. * @param aDataLen the length of the data
  139. */
  140. /* void getTransferData (in string aFlavor, out nsISupports aData, out unsigned long aDataLen); */
  141. NS_IMETHOD GetTransferData(const char *aFlavor, nsISupports **aData, PRUint32 *aDataLen) = 0;
  142. /**
  143. * Returns the best flavor in the transferable, given those that have
  144. * been added to it with |AddFlavor()|
  145. *
  146. * @param aFlavor (out parameter) the flavor of data that was retrieved
  147. * @param aData the data. Some variant of class in nsISupportsPrimitives.idl
  148. * @param aDataLen the length of the data
  149. */
  150. /* void getAnyTransferData (out string aFlavor, out nsISupports aData, out unsigned long aDataLen); */
  151. NS_IMETHOD GetAnyTransferData(char **aFlavor, nsISupports **aData, PRUint32 *aDataLen) = 0;
  152. /**
  153. * Returns true if the data is large.
  154. */
  155. /* boolean isLargeDataSet (); */
  156. NS_IMETHOD IsLargeDataSet(PRBool *_retval) = 0;
  157. /**
  158. * Computes a list of flavors (mime types as nsISupportsCString) that the transferable can
  159. * accept into it, either through intrinsic knowledge or input data converters.
  160. *
  161. * @param outFlavorList fills list with supported flavors. This is a copy of
  162. * the internal list, so it may be edited w/out affecting the transferable.
  163. */
  164. /* nsISupportsArray flavorsTransferableCanImport (); */
  165. NS_IMETHOD FlavorsTransferableCanImport(nsISupportsArray **_retval) = 0;
  166. /**
  167. * Sets the data in the transferable with the specified flavor. The transferable
  168. * will maintain its own copy the data, so it is not necessary to do that beforehand.
  169. *
  170. * @param aFlavor the flavor of data that is being set
  171. * @param aData the data, some variant of class in nsISupportsPrimitives.idl,
  172. * or an nsIFlavorDataProvider (see above)
  173. * @param aDataLen the length of the data, or 0 if passing a nsIFlavorDataProvider
  174. */
  175. /* void setTransferData (in string aFlavor, in nsISupports aData, in unsigned long aDataLen); */
  176. NS_IMETHOD SetTransferData(const char *aFlavor, nsISupports *aData, PRUint32 aDataLen) = 0;
  177. /**
  178. * Add the data flavor, indicating that this transferable
  179. * can receive this type of flavor
  180. *
  181. * @param aDataFlavor a new data flavor to handle
  182. */
  183. /* void addDataFlavor (in string aDataFlavor); */
  184. NS_IMETHOD AddDataFlavor(const char *aDataFlavor) = 0;
  185. /**
  186. * Removes the data flavor matching the given one (string compare) and the data
  187. * that goes along with it.
  188. *
  189. * @param aDataFlavor a data flavor to remove
  190. */
  191. /* void removeDataFlavor (in string aDataFlavor); */
  192. NS_IMETHOD RemoveDataFlavor(const char *aDataFlavor) = 0;
  193. /* attribute nsIFormatConverter converter; */
  194. NS_IMETHOD GetConverter(nsIFormatConverter * *aConverter) = 0;
  195. NS_IMETHOD SetConverter(nsIFormatConverter * aConverter) = 0;
  196. };
  197. /* Use this macro when declaring classes that implement this interface. */
  198. #define NS_DECL_NSITRANSFERABLE \
  199. NS_IMETHOD FlavorsTransferableCanExport(nsISupportsArray **_retval); \
  200. NS_IMETHOD GetTransferData(const char *aFlavor, nsISupports **aData, PRUint32 *aDataLen); \
  201. NS_IMETHOD GetAnyTransferData(char **aFlavor, nsISupports **aData, PRUint32 *aDataLen); \
  202. NS_IMETHOD IsLargeDataSet(PRBool *_retval); \
  203. NS_IMETHOD FlavorsTransferableCanImport(nsISupportsArray **_retval); \
  204. NS_IMETHOD SetTransferData(const char *aFlavor, nsISupports *aData, PRUint32 aDataLen); \
  205. NS_IMETHOD AddDataFlavor(const char *aDataFlavor); \
  206. NS_IMETHOD RemoveDataFlavor(const char *aDataFlavor); \
  207. NS_IMETHOD GetConverter(nsIFormatConverter * *aConverter); \
  208. NS_IMETHOD SetConverter(nsIFormatConverter * aConverter);
  209. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  210. #define NS_FORWARD_NSITRANSFERABLE(_to) \
  211. NS_IMETHOD FlavorsTransferableCanExport(nsISupportsArray **_retval) { return _to FlavorsTransferableCanExport(_retval); } \
  212. NS_IMETHOD GetTransferData(const char *aFlavor, nsISupports **aData, PRUint32 *aDataLen) { return _to GetTransferData(aFlavor, aData, aDataLen); } \
  213. NS_IMETHOD GetAnyTransferData(char **aFlavor, nsISupports **aData, PRUint32 *aDataLen) { return _to GetAnyTransferData(aFlavor, aData, aDataLen); } \
  214. NS_IMETHOD IsLargeDataSet(PRBool *_retval) { return _to IsLargeDataSet(_retval); } \
  215. NS_IMETHOD FlavorsTransferableCanImport(nsISupportsArray **_retval) { return _to FlavorsTransferableCanImport(_retval); } \
  216. NS_IMETHOD SetTransferData(const char *aFlavor, nsISupports *aData, PRUint32 aDataLen) { return _to SetTransferData(aFlavor, aData, aDataLen); } \
  217. NS_IMETHOD AddDataFlavor(const char *aDataFlavor) { return _to AddDataFlavor(aDataFlavor); } \
  218. NS_IMETHOD RemoveDataFlavor(const char *aDataFlavor) { return _to RemoveDataFlavor(aDataFlavor); } \
  219. NS_IMETHOD GetConverter(nsIFormatConverter * *aConverter) { return _to GetConverter(aConverter); } \
  220. NS_IMETHOD SetConverter(nsIFormatConverter * aConverter) { return _to SetConverter(aConverter); }
  221. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  222. #define NS_FORWARD_SAFE_NSITRANSFERABLE(_to) \
  223. NS_IMETHOD FlavorsTransferableCanExport(nsISupportsArray **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->FlavorsTransferableCanExport(_retval); } \
  224. NS_IMETHOD GetTransferData(const char *aFlavor, nsISupports **aData, PRUint32 *aDataLen) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTransferData(aFlavor, aData, aDataLen); } \
  225. NS_IMETHOD GetAnyTransferData(char **aFlavor, nsISupports **aData, PRUint32 *aDataLen) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAnyTransferData(aFlavor, aData, aDataLen); } \
  226. NS_IMETHOD IsLargeDataSet(PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->IsLargeDataSet(_retval); } \
  227. NS_IMETHOD FlavorsTransferableCanImport(nsISupportsArray **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->FlavorsTransferableCanImport(_retval); } \
  228. NS_IMETHOD SetTransferData(const char *aFlavor, nsISupports *aData, PRUint32 aDataLen) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetTransferData(aFlavor, aData, aDataLen); } \
  229. NS_IMETHOD AddDataFlavor(const char *aDataFlavor) { return !_to ? NS_ERROR_NULL_POINTER : _to->AddDataFlavor(aDataFlavor); } \
  230. NS_IMETHOD RemoveDataFlavor(const char *aDataFlavor) { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveDataFlavor(aDataFlavor); } \
  231. NS_IMETHOD GetConverter(nsIFormatConverter * *aConverter) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetConverter(aConverter); } \
  232. NS_IMETHOD SetConverter(nsIFormatConverter * aConverter) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetConverter(aConverter); }
  233. #if 0
  234. /* Use the code below as a template for the implementation class for this interface. */
  235. /* Header file */
  236. class nsTransferable : public nsITransferable
  237. {
  238. public:
  239. NS_DECL_ISUPPORTS
  240. NS_DECL_NSITRANSFERABLE
  241. nsTransferable();
  242. private:
  243. ~nsTransferable();
  244. protected:
  245. /* additional members */
  246. };
  247. /* Implementation file */
  248. NS_IMPL_ISUPPORTS1(nsTransferable, nsITransferable)
  249. nsTransferable::nsTransferable()
  250. {
  251. /* member initializers and constructor code */
  252. }
  253. nsTransferable::~nsTransferable()
  254. {
  255. /* destructor code */
  256. }
  257. /* nsISupportsArray flavorsTransferableCanExport (); */
  258. NS_IMETHODIMP nsTransferable::FlavorsTransferableCanExport(nsISupportsArray **_retval)
  259. {
  260. return NS_ERROR_NOT_IMPLEMENTED;
  261. }
  262. /* void getTransferData (in string aFlavor, out nsISupports aData, out unsigned long aDataLen); */
  263. NS_IMETHODIMP nsTransferable::GetTransferData(const char *aFlavor, nsISupports **aData, PRUint32 *aDataLen)
  264. {
  265. return NS_ERROR_NOT_IMPLEMENTED;
  266. }
  267. /* void getAnyTransferData (out string aFlavor, out nsISupports aData, out unsigned long aDataLen); */
  268. NS_IMETHODIMP nsTransferable::GetAnyTransferData(char **aFlavor, nsISupports **aData, PRUint32 *aDataLen)
  269. {
  270. return NS_ERROR_NOT_IMPLEMENTED;
  271. }
  272. /* boolean isLargeDataSet (); */
  273. NS_IMETHODIMP nsTransferable::IsLargeDataSet(PRBool *_retval)
  274. {
  275. return NS_ERROR_NOT_IMPLEMENTED;
  276. }
  277. /* nsISupportsArray flavorsTransferableCanImport (); */
  278. NS_IMETHODIMP nsTransferable::FlavorsTransferableCanImport(nsISupportsArray **_retval)
  279. {
  280. return NS_ERROR_NOT_IMPLEMENTED;
  281. }
  282. /* void setTransferData (in string aFlavor, in nsISupports aData, in unsigned long aDataLen); */
  283. NS_IMETHODIMP nsTransferable::SetTransferData(const char *aFlavor, nsISupports *aData, PRUint32 aDataLen)
  284. {
  285. return NS_ERROR_NOT_IMPLEMENTED;
  286. }
  287. /* void addDataFlavor (in string aDataFlavor); */
  288. NS_IMETHODIMP nsTransferable::AddDataFlavor(const char *aDataFlavor)
  289. {
  290. return NS_ERROR_NOT_IMPLEMENTED;
  291. }
  292. /* void removeDataFlavor (in string aDataFlavor); */
  293. NS_IMETHODIMP nsTransferable::RemoveDataFlavor(const char *aDataFlavor)
  294. {
  295. return NS_ERROR_NOT_IMPLEMENTED;
  296. }
  297. /* attribute nsIFormatConverter converter; */
  298. NS_IMETHODIMP nsTransferable::GetConverter(nsIFormatConverter * *aConverter)
  299. {
  300. return NS_ERROR_NOT_IMPLEMENTED;
  301. }
  302. NS_IMETHODIMP nsTransferable::SetConverter(nsIFormatConverter * aConverter)
  303. {
  304. return NS_ERROR_NOT_IMPLEMENTED;
  305. }
  306. /* End of implementation class template. */
  307. #endif
  308. #endif /* __gen_nsITransferable_h__ */