// Copyright (c) 2006-2008 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.

#ifndef CHROME_INSTALLER_UTIL_SELF_REG_WORK_ITEM_H__
#define CHROME_INSTALLER_UTIL_SELF_REG_WORK_ITEM_H__

#include <windows.h>
#include <string>

#include "chrome/installer/util/work_item.h"

// Registers or unregisters the DLL at the given path.
class SelfRegWorkItem : public WorkItem {
 public:
  virtual ~SelfRegWorkItem();

  virtual bool Do();
  virtual void Rollback();

 private:
  friend class WorkItem;

  // Constructs a work item that will call upon a self-registering DLL to
  // register itself.
  // dll_path: The path to the DLL.
  // do_register: Whether this action is to register or unregister the DLL.
  // user_level_registration: If true, then the exports called
  //    "DllRegisterUserServer" and "DllUnregisterUserServer" will be called to
  //    register and unregister the DLL. If false, the default exports named
  //    "DllRegisterServer" and "DllUnregisterUserServer" will be used.
  SelfRegWorkItem(const std::wstring& dll_path, bool do_register,
                  bool user_level_registration);

  // Examines the DLL at dll_path looking for either DllRegisterServer (if
  // do_register is true) or DllUnregisterServer (if do_register is false).
  // Returns true if the DLL exports the function and it a call to it
  // succeeds, false otherwise.
  bool RegisterDll(bool do_register);

  // The path to the dll to be registered.
  std::wstring dll_path_;

  // Whether this work item will register or unregister the dll. The rollback
  // action just inverts this parameter.
  bool do_register_;

  // Whether to use alternate export names on the DLL that will perform
  // user level registration.
  bool user_level_registration_;
};

#endif  // CHROME_INSTALLER_UTIL_SELF_REG_WORK_ITEM_H__
