1c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 2c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// found in the LICENSE file. 4c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 5a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#ifndef CHROME_BROWSER_EXTENSIONS_SIGNIN_SCOPED_GAIA_AUTH_EXTENSION_H_ 6a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#define CHROME_BROWSER_EXTENSIONS_SIGNIN_SCOPED_GAIA_AUTH_EXTENSION_H_ 7c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 8c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "base/basictypes.h" 9c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 10a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)namespace content { 11a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)class BrowserContext; 12a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)} 13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 14a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)// ScopedGaiaAuthExtension loads gaia auth extension on construction if the 15a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)// extension is not registered yet, and unloads it on destruction if it is no 16a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)// longer used. 17c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)class ScopedGaiaAuthExtension { 18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) public: 19a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) explicit ScopedGaiaAuthExtension(content::BrowserContext* context); 20c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) ~ScopedGaiaAuthExtension(); 21c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 22c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) private: 23a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) content::BrowserContext* browser_context_; 24c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(ScopedGaiaAuthExtension); 26c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}; 27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 28a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#endif // CHROME_BROWSER_EXTENSIONS_SIGNIN_SCOPED_GAIA_AUTH_EXTENSION_H_ 29