/* 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"
%}


[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);
};