uriloader/exthandler/nsIExternalSharingAppService.idl
author Karl Tomlinson <karlt+@karlt.net>
Tue, 25 Sep 2012 16:19:25 +1200
changeset 108067 2f9d00b31660f9e972abc0018ff6edb2a4aeb110
parent 94475 f4157e8c410708d76703f19e4dfb61859bfe32d8
child 124959 8c4e1ad6d30b0e179ac4d322d18af827a25047f2
permissions -rw-r--r--
b=793079 set leaktest timeout to half buildbot timeout r=ted

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "nsIMIMEInfo.idl"

%{C++
#define NS_EXTERNALSHARINGAPPSERVICE_CONTRACTID    "@mozilla.org/uriloader/external-sharing-app-service;1"
#define NS_IEXTERNALSHARINGAPPSERVICE_CLASSNAME "Mozilla Sharing App Service"
%}


[scriptable, uuid(7111f769-53ec-41fd-b314-613661d5b6ba)]
interface nsISharingHandlerApp : nsIHandlerApp
{
  void share(in AString data, [optional] in AString title);
};

[scriptable, uuid(cf7d04e5-3892-482e-81bb-073dc1c83f76)]
interface nsIExternalSharingAppService : nsISupports {
  void shareWithDefault(in AString data, in AString mime, 
			[optional] in AString title);
  
  void getSharingApps(in AString aMIMEType, 
		      [optional] out unsigned long aLen,
		      [array, size_is(aLen), retval] out nsISharingHandlerApp handlerApps);
};