This commit is contained in:
mscott%netscape.com 1999-11-18 08:15:39 +00:00
Родитель ab03db9585
Коммит 364f36c2ae
3 изменённых файлов: 0 добавлений и 183 удалений

Просмотреть файл

@ -1,49 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape 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/NPL/
*
* 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 mozilla.org code.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*/
#include "nsISupports.idl"
interface nsIChannel;
[scriptable, uuid(2F0F927A-8677-11d3-989D-001083010E9B)]
interface nsIContentHandler : nsISupports
{
/* CanHandleContent returns true if this content handler wants
to handle this particular content type and false otherwise.
aContentType --> is the content type of the document
aCommand --> is a layout specific action command i.e. "view"
aWindowTarget --> can be null for the normal case. It refers to the
target window name the content needs to be displayed in.
*/
void CanHandleContent(in string aContentType,
in string aCommand,
in string aWindowTarget,
out boolean aCanHandle);
/* HandleContent works as the name implies =). aChannel is an open channel
whose content type is already known (aContentType) */
void HandleContent(in string aContentType,
in string aCommand,
in string aWindowTarget,
in nsIChannel aChannel);
attribute nsIContentHandler parentHandler;
};

Просмотреть файл

@ -1,59 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape 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/NPL/
*
* 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 mozilla.org code.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*/
/* nsIURIContentListener is an interface used by classes which
want to know (and have a chance to handle) a particular content type.
Typical useage scenarios will include running applications which register
a nsIURIContentListener for each of its content windows with the uri dispatcher
service.
*/
#include "nsISupports.idl"
interface nsIProtocolHandler;
interface nsIStreamListener;
[scriptable, uuid(94928AB3-8B63-11d3-989D-001083010E9B)]
interface nsIURIContentListener : nsISupports
{
/* Give the content listener first crack at forcing us to use
a specific content handler. Content listener's do not need to
support this method if they want the uri dispatcher to find the
default protocol handler from the registry.
*/
readonly attribute nsIProtocolHandler protocolHandler;
/* The URIDispatcher will give the content listener a shot at handling
the content before it tries other means. If the content listener
wants to handle the content then it should return a stream listener
the data should be pushed into.
aContentType --> the content type we need to handle
aCommand --> verb for the action (this comes from layout???)
aWindowTarget --> name of the target window if any
aStreamListener --> the content viewer the content should be displayed in
You should return null for this out parameter if you do
not want to handle this content type.
*/
void doContent(in string aContentType, in string aCommand,
in string aWindowTarget,
out nsIStreamListener aContentHandler);
};

Просмотреть файл

@ -1,75 +0,0 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape 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/NPL/
*
* 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 mozilla.org code.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*/
/* The uri dispatcher is responsible for taking uri's, determining
the content and routing the opened url to the correct content
handler.
When you encounter a url you want to open, you typically call
openURI, passing it the content listener for the window the uri is
originating from. The uri dispatcher opens the url to discover the
content type. It then gives the content listener first crack at
handling the content. If it doesn't want it, the dispatcher tries
to hand it off one of the registered content listeners. This allows
running applications the chance to jump in and handle the content.
If that also fails, then the uri dispatcher goes to the registry
looking for the preferred content handler for the content type
of the uri. The content handler may create an app instance
or it may hand the contents off to a platform specific plugin
or helper app. Or it may hand the url off to an OS registered
application.
*/
#include "nsISupports.idl"
interface nsIURIContentListener;
interface nsIStreamObserver;
interface nsIURI;
[scriptable, uuid(40AECB53-8B65-11d3-989D-001083010E9B)]
interface nsIURIDispatcher : nsISupports
{
/* as applications such as messenger and the browser are instantiated,
they register content listener's with the uri dispatcher corresponding
to content windows within that application.
Note to self: we may want to optimize things a bit more by requiring
the content types the registered content listener cares about.
*/
void registerContentListener (in nsIURIContentListener aContentListener);
void unRegisterContentListener (in nsIURIContentListener aContentListener);
/* OpenURI requires the following parameters.....
aURI --> the uri you wish to open
aStreamObserver --> observer for the open operation (if any)
aContentListener --> a content listener you want to give first crack
at handling the uri.
aContext --> same context for the AsyncOpen call that you would have passed
if you were calling nsIIOChannel::AsyncOpen
aReferringURI --> if a uri referral was involved....
*/
void openURI(in nsIURI aURI, in nsIStreamObserver aStreamObserver,
in nsIURIContentListener aContentListener, in nsISupports aContext,
in nsIURI aReferringURI);
};