Back to index

lightning-sunbird  0.9+nobinonly
ISimpleDOMDocument.idl
Go to the documentation of this file.
00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
00002 /* ***** BEGIN LICENSE BLOCK *****
00003  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
00004  *
00005  * The contents of this file are subject to the Mozilla Public License Version
00006  * 1.1 (the "License"); you may not use this file except in compliance with
00007  * the License. You may obtain a copy of the License at
00008  * http://www.mozilla.org/MPL/
00009  *
00010  * Software distributed under the License is distributed on an "AS IS" basis,
00011  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
00012  * for the specific language governing rights and limitations under the
00013  * License.
00014  *
00015  * The Original Code is mozilla.org code.
00016  *
00017  * The Initial Developer of the Original Code is
00018  * Netscape Communications Corporation.
00019  * Portions created by the Initial Developer are Copyright (C) 1998
00020  * the Initial Developer. All Rights Reserved.
00021  *
00022  * Contributor(s):
00023  *   Author: Aaron Leventhal (aaronl@netscape.com)
00024  *
00025  * Alternatively, the contents of this file may be used under the terms of
00026  * either of the GNU General Public License Version 2 or later (the "GPL"),
00027  * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
00028  * in which case the provisions of the GPL or the LGPL are applicable instead
00029  * of those above. If you wish to allow use of your version of this file only
00030  * under the terms of either the GPL or the LGPL, and not to allow others to
00031  * use your version of this file under the terms of the MPL, indicate your
00032  * decision by deleting the provisions above and replace them with the notice
00033  * and other provisions required by the GPL or the LGPL. If you do not delete
00034  * the provisions above, a recipient may use your version of this file under
00035  * the terms of any one of the MPL, the GPL or the LGPL.
00036  *
00037  * ***** END LICENSE BLOCK ***** */
00038 
00039 cpp_quote("///////////////////////////////////////////////////////////////////////////////////////////////////////")
00040 cpp_quote("//")
00041 cpp_quote("// ISimpleDOMDocument")
00042 cpp_quote("//")
00043 cpp_quote("// @STATUS UNDER_REVIEW")
00044 cpp_quote("// ---------------------------------------------------------------------------------------------------=")
00045 cpp_quote("//")
00046 cpp_quote("// get_URL(out] BSTR *url)")
00047 cpp_quote("// ---------------------------------------------------------------------------------------------------=")
00048 cpp_quote("// Get the internet URL associated with this document.")
00049 cpp_quote("//")
00050 cpp_quote("// get_title([out BSTR *title")
00051 cpp_quote("// ---------------------------------------------------------------------------------------------------=")
00052 cpp_quote("// Get the document's title from the <TITLE> element")
00053 cpp_quote("//")
00054 cpp_quote("// get_mimeType([out BSTR *mimeType")
00055 cpp_quote("// ---------------------------------------------------------------------------------------------------=")
00056 cpp_quote("// Get the registered mime type, such as text/html")
00057 cpp_quote("//")
00058 cpp_quote("// get_docType([out] BSTR *docType")
00059 cpp_quote("// ---------------------------------------------------------------------------------------------------=")
00060 cpp_quote("// Get doctype associated with the <!DOCTYPE ..> element")
00061 cpp_quote("//")
00062 cpp_quote("// get_nameSpaceURIForID([in] short nameSpaceID, [out] BSTR *nameSpaceURI)")
00063 cpp_quote("// ---------------------------------------------------------------------------------------------------=")
00064 cpp_quote("// Some of the methods for ISimpleDOMNode return a nameSpaceID (-1,0,1,2,3,....)")
00065 cpp_quote("// This method returns the associated namespace URI for each ID.")
00066 cpp_quote("//")
00067 cpp_quote("// set_alternateViewMediaTypes([in] BSTR *commaSeparatedMediaType)")
00068 cpp_quote("// ---------------------------------------------------------------------------------------------------=")
00069 cpp_quote("// For style property retrieval on nsISimpleDOMNode elements, ")
00070 cpp_quote("// set the additional alternate media types that properties are available for.")
00071 cpp_quote("// [in] BSTR *commaSeparatedMediaTypes is a comma separate list, for example \"aural, braille\".")
00072 cpp_quote("// The alternate media properties are requested with nsISimpleDOMNode::get_computedStyle.")
00073 cpp_quote("// Note: setting this value on a document will increase memory overhead, and may create a small delay.")
00074 cpp_quote("//")
00075 cpp_quote("// W3C media Types:")
00076 cpp_quote("// * all:        Suitable for all devices. ")
00077 cpp_quote("// * aural:      Intended for speech synthesizers. See the section on aural style sheets for details. ")
00078 cpp_quote("// * braille:    Intended for braille tactile feedback devices. ")
00079 cpp_quote("// * embossed:   Intended for paged braille printers. ")
00080 cpp_quote("// * handheld:   Intended for handheld devices - typically small screen, monochrome, limited bandwidth. ")
00081 cpp_quote("// * print:      Intended for paged, opaque material and for documents viewed on screen in print preview mode. Please consult the section on paged media for information about formatting issues that are specific to paged media. ")
00082 cpp_quote("// * projection: Intended for projected presentations, for example projectors or print to transparencies. Please consult the section on paged media for information about formatting issues that are specific to paged media. ")
00083 cpp_quote("// * screen:     Intended primarily for color computer screens. ")
00084 cpp_quote("// * tty:        intended for media using a fixed-pitch character grid, such as teletypes, terminals, or portable devices with limited display capabilities. Authors should not use pixel units with the tty media type. ")
00085 cpp_quote("// * tv:         Intended for television-type devices - low resolution, color, limited-scrollability screens, sound")
00086 cpp_quote("// * See latest W3C CSS specs for complete list of media types")
00087 cpp_quote("//")
00088 cpp_quote("//")
00089 cpp_quote("
00090 cpp_quote("")
00091 cpp_quote("")
00092 
00093 import "objidl.idl";
00094 import "oaidl.idl";
00095         
00096         
00097 const long DISPID_DOC_URL         = -5904;
00098 const long DISPID_DOC_TITLE       = -5905;
00099 const long DISPID_DOC_MIMETYPE    = -5906;
00100 const long DISPID_DOC_DOCTYPE     = -5907;
00101 const long DISPID_DOC_NAMESPACE   = -5908;
00102 const long DISPID_DOC_MEDIATYPES  = -5909;
00103 
00104 [object, uuid(0D68D6D0-D93D-4d08-A30D-F00DD1F45B24)]
00105 interface ISimpleDOMDocument : IUnknown
00106 {
00107   [propget, id(DISPID_DOC_URL)] HRESULT URL(
00108     [out, retval] BSTR * url
00109   );
00110   [propget, id(DISPID_DOC_TITLE)] HRESULT title(
00111     [out, retval] BSTR * title
00112   );
00113   [propget, id(DISPID_DOC_MIMETYPE)] HRESULT mimeType(
00114     [out, retval] BSTR * mimeType
00115   );
00116   [propget, id(DISPID_DOC_DOCTYPE)] HRESULT docType(
00117     [out, retval] BSTR * docType
00118   );
00119   [propget, id(DISPID_DOC_NAMESPACE)] HRESULT nameSpaceURIForID(
00120     [in]  short nameSpaceID,
00121     [out, retval] BSTR * nameSpaceURI
00122   );
00123   [propput, id(DISPID_DOC_MEDIATYPES)] HRESULT alternateViewMediaTypes(
00124     [in] BSTR * commaSeparatedMediaTypes
00125        );
00126 }