14e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 24e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 34e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// found in the LICENSE file. 44e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 54e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#ifndef CHROME_BROWSER_UI_APP_LIST_SEARCH_PEOPLE_PERSON_H_ 64e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#define CHROME_BROWSER_UI_APP_LIST_SEARCH_PEOPLE_PERSON_H_ 74e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 84e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include <string> 94e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 104e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include "base/memory/scoped_ptr.h" 114e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include "url/gurl.h" 124e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 134e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)namespace base { 144e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class DictionaryValue; 154e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)} 164e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 174e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)namespace app_list { 184e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 194e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Person holds information about a search result retrieved from the People 204e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Search Google webservice. 214e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)struct Person { 224e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) // Parses the dictionary from the people search result and creates a person 234e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) // object. 244e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) static scoped_ptr<Person> Create(const base::DictionaryValue& dict); 254e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 264e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) Person(); 274e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) ~Person(); 284e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 294e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) scoped_ptr<Person> Duplicate(); 304e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 314e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) // This is a unique id for this person. In the case of a result with an 324e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) // associated Google account, this will always be the same as the owner id. 334e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) // In case of non-Google results, this id is arbitrary but guaranteed to be 344e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) // unique for this person search result. 354e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) std::string id; 364e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 374e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) // The Owner Id is a GAIA obfuscated id which can be used to identify a 384e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) // Google contact. 394e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) std::string owner_id; 404e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 414e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) // Interaction rank is a number between 0.0-1.0 indicating how frequently 424e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) // you interact with the person. 434e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) double interaction_rank; 444e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 454e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) std::string display_name; 464e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) std::string email; 474e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) GURL image_url; 484e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 494e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)}; 504e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 514e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)} // namespace app_list 524e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 534e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#endif // CHROME_BROWSER_UI_APP_LIST_SEARCH_PEOPLE_PERSON_H_ 54