1 /* -*- Mode: C; tab-width: 4 -*-
3 * Copyright (c) 2003-2004 Apple Computer, Inc. All rights reserved.
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
17 Change History (most recent first):
19 $Log: ExplorerBar.h,v $
20 Revision 1.3 2006/08/14 23:24:00 cheshire
21 Re-licensed mDNSResponder daemon source code under Apache License, Version 2.0
23 Revision 1.2 2004/07/13 21:24:21 rpantos
24 Fix for <rdar://problem/3701120>.
26 Revision 1.1 2004/06/18 04:34:59 rpantos
27 Move to Clients from mDNSWindows
29 Revision 1.1 2004/01/30 03:01:56 bradley
30 Explorer Plugin to browse for DNS-SD advertised Web and FTP servers from within Internet Explorer.
34 #ifndef __EXPLORER_BAR__
35 #define __EXPLORER_BAR__
39 #include "ExplorerBarWindow.h"
40 #include "ExplorerPlugin.h"
42 //===========================================================================================================================
44 //===========================================================================================================================
46 class ExplorerBar
: public IDeskBand
,
48 public IObjectWithSite
,
49 public IPersistStream
,
55 IInputObjectSite
* mSite
;
56 IWebBrowser2
* mWebBrowser
;
61 ExplorerBarWindow mWindow
;
70 STDMETHODIMP
QueryInterface( REFIID inID
, LPVOID
*outResult
);
71 STDMETHODIMP_( DWORD
) AddRef( void );
72 STDMETHODIMP_( DWORD
) Release( void );
76 STDMETHOD( GetWindow
)( HWND
*outWindow
);
77 STDMETHOD( ContextSensitiveHelp
)( BOOL inEnterMode
);
79 // IDockingWindow methods
81 STDMETHOD( ShowDW
)( BOOL inShow
);
82 STDMETHOD( CloseDW
)( DWORD inReserved
);
83 STDMETHOD( ResizeBorderDW
)( LPCRECT inBorder
, IUnknown
*inPunkSite
, BOOL inReserved
);
87 STDMETHOD( GetBandInfo
)( DWORD inBandID
, DWORD inViewMode
, DESKBANDINFO
*outInfo
);
89 // IInputObject methods
91 STDMETHOD( UIActivateIO
)( BOOL inActivate
, LPMSG inMsg
);
92 STDMETHOD( HasFocusIO
)( void );
93 STDMETHOD( TranslateAcceleratorIO
)( LPMSG inMsg
);
95 // IObjectWithSite methods
97 STDMETHOD( SetSite
)( IUnknown
*inPunkSite
);
98 STDMETHOD( GetSite
)( REFIID inID
, LPVOID
*outResult
);
100 // IPersistStream methods
102 STDMETHOD( GetClassID
)( LPCLSID outClassID
);
103 STDMETHOD( IsDirty
)( void );
104 STDMETHOD( Load
)( LPSTREAM inStream
);
105 STDMETHOD( Save
)( LPSTREAM inStream
, BOOL inClearDirty
);
106 STDMETHOD( GetSizeMax
)( ULARGE_INTEGER
*outSizeMax
);
108 // IContextMenu methods
110 STDMETHOD( QueryContextMenu
)( HMENU hContextMenu
, UINT iContextMenuFirstItem
, UINT idCmdFirst
, UINT idCmdLast
, UINT uFlags
);
111 STDMETHOD( GetCommandString
)( UINT idCmd
, UINT uType
, UINT
* pwReserved
, LPSTR pszName
, UINT cchMax
);
112 STDMETHOD( InvokeCommand
)( LPCMINVOKECOMMANDINFO lpici
);
116 OSStatus
SetupWindow( void );
117 OSStatus
GoToURL( const CString
&inURL
);
120 #endif // __EXPLORER_BAR__