/*
 * BEGIN FLOCK GPL
 *
 * Copyright Flock Inc. 2005-2009
 * http://flock.com
 *
 * This file may be used under the terms of the
 * GNU General Public License Version 2 or later (the "GPL"),
 * http://www.gnu.org/licenses/gpl.html
 *
 * 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.
 *
 * END FLOCK GPL
 */

#include "nsISupports.idl"

interface nsIURI;

/* This is a special interface to bridge calls to search service functions
 * that have their own interfaces later on in the build process. They can't
 * be used directly because C++ code requires all the declarations at
 * compile time.
 */
[scriptable, uuid(c86d26ce-0a83-4601-8435-ae582982af74)]
interface flockIDocShellBridge : nsISupports {
  nsIURI getURLFromKeywordProvider(in AUTF8String aKeyword);

  AUTF8String getErrorPageSearchURL(in string aErrorPage,
                                    in wstring aErrorType,
                                    in nsIURI aURI);

  AUTF8String getDNSNotFoundURL(in nsIURI aNotFoundURI);

  void reportErrorPageMetrics(in string aErrorPage,
                              in wstring aErrorType);

};
