]> git.saurik.com Git - apple/mdnsresponder.git/blob - mDNSWindows/Applications/ExplorerPlugin/ExplorerBar.h
1ab9df9eaeadc7016e49d28b5aeffefe11b2cdd9
[apple/mdnsresponder.git] / mDNSWindows / Applications / ExplorerPlugin / ExplorerBar.h
1 /*
2 * Copyright (c) 2003-2004 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved.
7 *
8 * This file contains Original Code and/or Modifications of Original Code
9 * as defined in and that are subject to the Apple Public Source License
10 * Version 2.0 (the 'License'). You may not use this file except in
11 * compliance with the License. Please obtain a copy of the License at
12 * http://www.opensource.apple.com/apsl/ and read it before using this
13 * file.
14 *
15 * The Original Code and all software distributed under the License are
16 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
17 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
18 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
20 * Please see the License for the specific language governing rights and
21 * limitations under the License.
22 *
23 * @APPLE_LICENSE_HEADER_END@
24
25 Change History (most recent first):
26
27 $Log: ExplorerBar.h,v $
28 Revision 1.1 2004/01/30 03:01:56 bradley
29 Explorer Plugin to browse for Rendezvous-enabled Web and FTP servers from within Internet Explorer.
30
31 */
32
33 #ifndef __EXPLORER_BAR__
34 #define __EXPLORER_BAR__
35
36 #include "StdAfx.h"
37
38 #include "ExplorerBarWindow.h"
39 #include "ExplorerPlugin.h"
40
41 //===========================================================================================================================
42 // ExplorerBar
43 //===========================================================================================================================
44
45 class ExplorerBar : public IDeskBand,
46 public IInputObject,
47 public IObjectWithSite,
48 public IPersistStream
49 {
50 protected:
51
52 DWORD mRefCount;
53 IInputObjectSite * mSite;
54 IWebBrowser2 * mWebBrowser;
55 HWND mParentWindow;
56 BOOL mFocus;
57 DWORD mViewMode;
58 DWORD mBandID;
59 ExplorerBarWindow mWindow;
60
61 public:
62
63 ExplorerBar( void );
64 ~ExplorerBar( void );
65
66 // IUnknown methods
67
68 STDMETHODIMP QueryInterface( REFIID inID, LPVOID *outResult );
69 STDMETHODIMP_( DWORD ) AddRef( void );
70 STDMETHODIMP_( DWORD ) Release( void );
71
72 // IOleWindow methods
73
74 STDMETHOD( GetWindow )( HWND *outWindow );
75 STDMETHOD( ContextSensitiveHelp )( BOOL inEnterMode );
76
77 // IDockingWindow methods
78
79 STDMETHOD( ShowDW )( BOOL inShow );
80 STDMETHOD( CloseDW )( DWORD inReserved );
81 STDMETHOD( ResizeBorderDW )( LPCRECT inBorder, IUnknown *inPunkSite, BOOL inReserved );
82
83 // IDeskBand methods
84
85 STDMETHOD( GetBandInfo )( DWORD inBandID, DWORD inViewMode, DESKBANDINFO *outInfo );
86
87 // IInputObject methods
88
89 STDMETHOD( UIActivateIO )( BOOL inActivate, LPMSG inMsg );
90 STDMETHOD( HasFocusIO )( void );
91 STDMETHOD( TranslateAcceleratorIO )( LPMSG inMsg );
92
93 // IObjectWithSite methods
94
95 STDMETHOD( SetSite )( IUnknown *inPunkSite );
96 STDMETHOD( GetSite )( REFIID inID, LPVOID *outResult );
97
98 // IPersistStream methods
99
100 STDMETHOD( GetClassID )( LPCLSID outClassID );
101 STDMETHOD( IsDirty )( void );
102 STDMETHOD( Load )( LPSTREAM inStream );
103 STDMETHOD( Save )( LPSTREAM inStream, BOOL inClearDirty );
104 STDMETHOD( GetSizeMax )( ULARGE_INTEGER *outSizeMax );
105
106 // Other
107
108 OSStatus SetupWindow( void );
109 OSStatus GoToURL( const CString &inURL );
110 };
111
112 #endif // __EXPLORER_BAR__