Home | History | Annotate | Download | only in search_engines
      1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef CHROME_BROWSER_SEARCH_ENGINES_UTIL_H_
      6 #define CHROME_BROWSER_SEARCH_ENGINES_UTIL_H_
      7 #pragma once
      8 
      9 // This file contains utility functions for search engine functionality.
     10 #include <vector>
     11 
     12 #include "base/string16.h"
     13 
     14 class PrefService;
     15 class Profile;
     16 class TemplateURL;
     17 class WDTypedResult;
     18 class WebDataService;
     19 
     20 // Returns the short name of the default search engine, or the empty string if
     21 // none is set. |profile| may be NULL.
     22 string16 GetDefaultSearchEngineName(Profile* profile);
     23 
     24 // Processes the results of WebDataService::GetKeywords, combining it with
     25 // prepopulated search providers to result in:
     26 //  * a set of template_urls (search providers). The caller owns the
     27 //    TemplateURL* returned in template_urls.
     28 //  * the default search provider (and if *default_search_provider is not NULL,
     29 //    it is contained in template_urls).
     30 //  * whether there is a new resource keyword version (and the value).
     31 //    |*new_resource_keyword_version| is set to 0 if no new value. Otherwise,
     32 //    it is the new value.
     33 // Only pass in a non-NULL value for service if the WebDataService should be
     34 // updated.
     35 void GetSearchProvidersUsingKeywordResult(
     36     const WDTypedResult& result,
     37     WebDataService* service,
     38     PrefService* prefs,
     39     std::vector<TemplateURL*>* template_urls,
     40     const TemplateURL** default_search_provider,
     41     int* new_resource_keyword_version);
     42 
     43 #endif  // CHROME_BROWSER_SEARCH_ENGINES_UTIL_H_
     44