1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27#ifndef __com_sun_star_mozilla_XPluginInstance_idl__
28#define __com_sun_star_mozilla_XPluginInstance_idl__
29
30#ifndef __com_sun_star_uno_XInterface_idl__
31#include <com/sun/star/uno/XInterface.idl>
32#endif
33
34#ifndef __com_sun_star_io_XInputStream_idl__
35#include <com/sun/star/io/XInputStream.idl>
36#endif
37
38//=============================================================================
39
40 module com {  module sun {  module star {  module mozilla {
41
42//=============================================================================
43
44
45// DocMerge from xml: method com::sun::star::mozilla::XPluginInstance::start
46/** Allows to controll an office side plugin instance and to communicate with it.
47	This interface is oriented for communication with browsers plugins.
48 */
49published interface XPluginInstance: com::sun::star::uno::XInterface
50{
51	//-------------------------------------------------------------------------
52
53
54	// DocMerge from xml: method com::sun::star::mozilla::XPluginInstance::start
55	/** Starts plugin operation. This is called after a plugin instance is
56		created.
57	 */
58	[oneway] void start();
59
60	//-------------------------------------------------------------------------
61
62
63	// DocMerge from xml: method com::sun::star::mozilla::XPluginInstance::stop
64	/** Stops plugin operation. This is called when the user goes to another web
65		page. The <member>XPluginInstance::destroy</member> method is directly called
66		afterwards.
67	 */
68	[oneway] void stop();
69
70	//-------------------------------------------------------------------------
71
72
73	// DocMerge from xml: method com::sun::star::mozilla::XPluginInstance::destroy
74	/** Destroy the plugin instance. This method is called when it is no
75		longer possible to return to the plugin instance, because it was
76		destroyed by the browser (e.g., window close).
77	 */
78	[oneway] void destroy();
79
80	//-------------------------------------------------------------------------
81
82
83	// DocMerge from xml: method com::sun::star::mozilla::XPluginInstance::createWindow
84	/** Creates a new window for plugin operation.
85
86		@param PlatformParentData	[in]:	platform dependent window data
87		@param embedded				[in]:	selects embedded or full page plugin mode
88
89	 */
90	[oneway] void createWindow( [in] any PlatformParentData, [in] boolean embedded );
91
92	//-------------------------------------------------------------------------
93
94
95	// DocMerge from xml: method com::sun::star::mozilla::XPluginInstance::newStream
96	/** Notifies the plugin of a new stream to display.
97
98		@param MIMEDesc		[in]:	the MIMEtype of the data stream
99		@param theURL		[in]:	the URL that denotes the stream
100		@param filter		[in]:	a filter string to suggest a component that should handle the document
101		@param stream		[in]:	the data stream
102		@param sessiondata	[in]:	the data specifying the current session
103
104	 */
105	[oneway] void newStream(
106		[in] string MIMEDesc,
107		[in] string theURL,
108		[in] string filter,
109		[in] ::com::sun::star::io::XInputStream stream ,
110		[in] any sessionData
111	);
112
113	//-------------------------------------------------------------------------
114
115
116	// DocMerge from xml: method com::sun::star::mozilla::XPluginInstance::newURL
117	/** Notifies the plugin of a new url to open as document.
118
119		@param MIMEDesc		[in]:	the MIMEtype of the data stream
120		@param theURL		[in]:	the URL to be openend
121		@param filter		[in]:	a filter string to suggest a component that should handle the document
122		@param sessiondata	[in]:	the data specifying the current session
123
124	 */
125	[oneway] void newURL( [in] string MIMEDesc, [in] string theURL, [in] string filter, [in] any sessionData );
126
127	//-------------------------------------------------------------------------
128
129
130	// DocMerge from idl: method com::sun::star::mozilla::XPluginInstance::getHttpServerURL
131	/** Retrieves the URL of the HTTP Loadbalancing Slave.
132
133		@param aURL		[out]:	the full qualified host name of the LBS
134		@param aPort	[out]:	the port number
135		@param aPrefix	[out]:	the url prefix to the portal
136
137	 */
138	void getHttpServerURL( [out] string aHost, [out] unsigned short aPort,
139						   [out] string aPrefix);
140};
141
142//=============================================================================
143
144}; }; }; };
145
146#endif
147