| Index: chrome/browser/profile_manager.h
|
| ===================================================================
|
| --- chrome/browser/profile_manager.h (revision 68044)
|
| +++ chrome/browser/profile_manager.h (working copy)
|
| @@ -1,128 +0,0 @@
|
| -// Copyright (c) 2010 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -// This class keeps track of the currently-active profiles in the runtime.
|
| -
|
| -#ifndef CHROME_BROWSER_PROFILE_MANAGER_H__
|
| -#define CHROME_BROWSER_PROFILE_MANAGER_H__
|
| -#pragma once
|
| -
|
| -#include <vector>
|
| -
|
| -#include "app/system_monitor.h"
|
| -#include "base/basictypes.h"
|
| -#include "base/message_loop.h"
|
| -#include "base/non_thread_safe.h"
|
| -#include "chrome/browser/profile.h"
|
| -#include "chrome/common/notification_observer.h"
|
| -#include "chrome/common/notification_registrar.h"
|
| -
|
| -class FilePath;
|
| -
|
| -class ProfileManager : public NonThreadSafe,
|
| - public SystemMonitor::PowerObserver,
|
| - public NotificationObserver {
|
| - public:
|
| - ProfileManager();
|
| - virtual ~ProfileManager();
|
| -
|
| - // Invokes ShutdownSessionService() on all profiles.
|
| - static void ShutdownSessionServices();
|
| -
|
| - // Returns the default profile. This adds the profile to the
|
| - // ProfileManager if it doesn't already exist. This method returns NULL if
|
| - // the profile doesn't exist and we can't create it.
|
| - // The profile used can be overridden by using --login-profile on cros.
|
| - Profile* GetDefaultProfile(const FilePath& user_data_dir);
|
| -
|
| - // Same as instance method but provides the default user_data_dir as well.
|
| - static Profile* GetDefaultProfile();
|
| -
|
| - // Returns a profile for a specific profile directory within the user data
|
| - // dir. This will return an existing profile it had already been created,
|
| - // otherwise it will create and manage it.
|
| - Profile* GetProfile(const FilePath& profile_dir);
|
| -
|
| - // Returns a profile for a specific profile directory within the user data
|
| - // dir with the option of controlling whether extensions are initialized
|
| - // or not. This will return an existing profile it had already been created,
|
| - // otherwise it will create and manage it.
|
| - // Note that if the profile has already been created, extensions may have
|
| - // been initialized. If this matters to you, you should call GetProfileByPath
|
| - // first to see if the profile already exists.
|
| - Profile* GetProfile(const FilePath& profile_dir, bool init_extensions);
|
| -
|
| - // Returns the directory where the currently active profile is
|
| - // stored, relative to the user data directory currently in use..
|
| - FilePath GetCurrentProfileDir();
|
| -
|
| - // These allow iteration through the current list of profiles.
|
| - typedef std::vector<Profile*> ProfileVector;
|
| - typedef ProfileVector::iterator iterator;
|
| - typedef ProfileVector::const_iterator const_iterator;
|
| -
|
| - iterator begin() { return profiles_.begin(); }
|
| - const_iterator begin() const { return profiles_.begin(); }
|
| - iterator end() { return profiles_.end(); }
|
| - const_iterator end() const { return profiles_.end(); }
|
| -
|
| - // PowerObserver notifications
|
| - void OnSuspend();
|
| - void OnResume();
|
| -
|
| - // NotificationObserver implementation.
|
| - virtual void Observe(NotificationType type,
|
| - const NotificationSource& source,
|
| - const NotificationDetails& details);
|
| -
|
| - // ------------------ static utility functions -------------------
|
| -
|
| - // Returns the path to the default profile directory, based on the given
|
| - // user data directory.
|
| - static FilePath GetDefaultProfileDir(const FilePath& user_data_dir);
|
| -
|
| - // Returns the path to the preferences file given the user profile directory.
|
| - static FilePath GetProfilePrefsPath(const FilePath& profile_dir);
|
| -
|
| - // Tries to determine whether the given path represents a profile
|
| - // directory, and returns true if it thinks it does.
|
| - static bool IsProfile(const FilePath& path);
|
| -
|
| - // If a profile with the given path is currently managed by this object,
|
| - // return a pointer to the corresponding Profile object;
|
| - // otherwise return NULL.
|
| - Profile* GetProfileByPath(const FilePath& path) const;
|
| -
|
| - // Creates a new profile at the specified path.
|
| - // This method should always return a valid Profile (i.e., should never
|
| - // return NULL).
|
| - static Profile* CreateProfile(const FilePath& path);
|
| -
|
| - private:
|
| - // Hooks to suspend/resume per-profile network traffic.
|
| - // These must be called on the IO thread.
|
| - static void SuspendProfile(Profile*);
|
| - static void ResumeProfile(Profile*);
|
| -
|
| - // Adds a pre-existing Profile object to the set managed by this
|
| - // ProfileManager. This ProfileManager takes ownership of the Profile.
|
| - // The Profile should not already be managed by this ProfileManager.
|
| - // Returns true if the profile was added, false otherwise.
|
| - bool AddProfile(Profile* profile, bool init_extensions);
|
| -
|
| - // We keep a simple vector of profiles rather than something fancier
|
| - // because we expect there to be a small number of profiles active.
|
| - ProfileVector profiles_;
|
| -
|
| - NotificationRegistrar registrar_;
|
| -
|
| - // Indicates that a user has logged in and that the profile specified
|
| - // in the --login-profile command line argument should be used as the
|
| - // default.
|
| - bool logged_in_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(ProfileManager);
|
| -};
|
| -
|
| -#endif // CHROME_BROWSER_PROFILE_MANAGER_H__
|
|
|