/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- * * The contents of this file are subject to the Mozilla Public * License Version 1.1 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or * implied. See the License for the specific language governing * rights and limitations under the License. * * The Original Code is The Waterfall Java Plugin Module * * The Initial Developer of the Original Code is Sun Microsystems Inc * Portions created by Sun Microsystems Inc are Copyright (C) 2001 * All Rights Reserved. * * $Id: nsIJavaObjectInfo.idl,v 1.1 2001-05-10 18:12:41 edburns%acm.org Exp $ * * * Contributor(s): * * Nikolay N. Igotti */ #include "nsoji2.idl" #include "nsIJavaHTMLObject.idl" #include "nsIWFInstanceWrapper.idl" %{C++ enum nsJavaObjectType { nsJavaObjectType_Unknown, nsJavaObjectType_Embed, nsJavaObjectType_Object, nsJavaObjectType_Applet, nsJavaObjectType_Pluglet }; /* opaque structure to be used to pass as bridge between Java and Mozilla applet operations */ struct JavaObjectWrapper; %} native nsJavaObjectType(nsJavaObjectType); native JavaObjectWrapper(JavaObjectWrapper*); [uuid(f7eb8258-e2a3-404f-ae11-b9d8a976e993)] interface nsIJavaObjectInfo : nsISupports { // I don't know why attributes and parameters different - // so let's consider them as the same thing void addParameter(in string key, in string value); void getParameters([array, size_is(count)] out string keys, [array, size_is(count)] out string values, [retval] out PRUint32 count); /* I'm not sure which attributes should be readonly */ attribute string docBase; attribute string encoding; attribute string alignment; attribute PRUint32 width; attribute PRUint32 height; readonly attribute nsJavaObjectType type; void getOwner(out nsIJavaHTMLObject owner); void getWrapper(out JavaObjectWrapper wrapper); // XXX: temporary - keep it last void getPluginWrapper(out nsIWFInstanceWrapper wrapper); };