tenfourfox/xpcom/system/nsIExternalApplication.idl

32 lines
1.1 KiB
Plaintext

/* 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 "nsISupports.idl"
interface nsPIDOMWindow;
[builtinclass, uuid(adf6b501-609a-4f54-ac16-39b54d6358b5)]
interface nsICustomEventDispatch : nsISupports {
// Dispatches an event named "externalappevent" with the data
// in a property named "data" on the event.
void dispatchExternalEvent(in AString data);
};
[builtinclass, uuid(4d797f32-a24d-4cbc-b608-1eb0fc8e442b)]
interface nsICustomPropertyBag : nsISupports {
void setProperty(in AString name, in AString value);
void removeProperty(in AString name);
};
[builtinclass, uuid(c100de94-e699-4941-b528-eaff1af5b15c)]
interface nsIExternalApplication : nsISupports {
void init(in nsPIDOMWindow window, in nsICustomPropertyBag bag, in nsICustomEventDispatch callback);
void postMessage(in AString message);
};
%{C++
#define NS_EXTERNALAPP_CONTRACTID "@mozilla.org/externalapp;1"
#define NS_EXTERNALAPP_CID {0x8ec5dce2, 0x67e1, 0x49cd, {0xa0, 0x12, 0xf9, 0xfe, 0x32, 0x00, 0xd0, 0x8e}}
%}