X-Git-Url: https://git.saurik.com/apple/mdnsresponder.git/blobdiff_plain/7cb34e5c3616917483a8e75510de0387e51833cc..51e746cfedf68920647bd7ab197adb37f67b5209:/Clients/ExplorerPlugin/ExplorerPlugin.cpp diff --git a/Clients/ExplorerPlugin/ExplorerPlugin.cpp b/Clients/ExplorerPlugin/ExplorerPlugin.cpp index 766c173..c2c661b 100644 --- a/Clients/ExplorerPlugin/ExplorerPlugin.cpp +++ b/Clients/ExplorerPlugin/ExplorerPlugin.cpp @@ -1,28 +1,28 @@ -/* +/* -*- Mode: C; tab-width: 4 -*- + * * Copyright (c) 2003-2004 Apple Computer, Inc. All rights reserved. * - * @APPLE_LICENSE_HEADER_START@ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. + * http://www.apache.org/licenses/LICENSE-2.0 * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and * limitations under the License. - * - * @APPLE_LICENSE_HEADER_END@ Change History (most recent first): $Log: ExplorerPlugin.cpp,v $ +Revision 1.9 2006/08/14 23:24:00 cheshire +Re-licensed mDNSResponder daemon source code under Apache License, Version 2.0 + +Revision 1.8 2005/06/30 18:01:54 shersche + Cause IE to rebuild cache so we don't have to reboot following an install. + Revision 1.7 2005/02/23 02:00:45 shersche Delete all the registry entries when component is unregistered @@ -125,6 +125,14 @@ GetLocalizedResources() return g_localizedResources; } +// This is the class GUID for an undocumented hook into IE that will allow us to register +// and have IE notice our new ExplorerBar without rebooting. +// {8C7461EF-2B13-11d2-BE35-3078302C2030} + +DEFINE_GUID(CLSID_CompCatCacheDaemon, +0x8C7461EF, 0x2b13, 0x11d2, 0xbe, 0x35, 0x30, 0x78, 0x30, 0x2c, 0x20, 0x30); + + #if 0 #pragma mark == Globals == #endif @@ -248,9 +256,10 @@ exit: STDAPI DllRegisterServer( void ) { - HRESULT err; - BOOL ok; - CString s; + IRunnableTask * pTask = NULL; + HRESULT err; + BOOL ok; + CString s; dlog( kDebugLevelTrace, "DllRegisterServer\n" ); @@ -262,7 +271,16 @@ STDAPI DllRegisterServer( void ) err = RegisterCOMCategory( CLSID_ExplorerBar, CATID_InfoBand, TRUE ); require_noerr( err, exit ); - + + // Clear IE cache so it will rebuild the cache when it runs next. This + // will allow us to install and not reboot + + err = CoCreateInstance(CLSID_CompCatCacheDaemon, NULL, CLSCTX_INPROC, IID_IRunnableTask, (void**) &pTask); + require_noerr( err, exit ); + + pTask->Run(); + pTask->Release(); + exit: return( err ); }