// Copyright (c) 2010 The Chromium OS 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 CROMO_PLUGIN_MANAGER_H_
#define CROMO_PLUGIN_MANAGER_H_

#include <string>
#include <vector>

#include <base/macros.h>

#include "cromo/plugin.h"

class CromoServer;

class PluginManager {
 public:
  static void LoadPlugins(CromoServer* server, const std::string& plugins);
  static void UnloadPlugins(bool dlclose_plugins);

 private:
  struct Plugin {
    void* handle;
    cromo_plugin_descriptor* descriptor;
    bool initted;
  };
  static std::vector<Plugin*> loaded_plugins_;

  DISALLOW_COPY_AND_ASSIGN(PluginManager);
};


#endif  // CROMO_PLUGIN_MANAGER_H_
