~ubuntu-branches/ubuntu/feisty/clamav/feisty

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/include/llvm/Support/PluginLoader.h

  • Committer: Bazaar Package Importer
  • Author(s): Kees Cook
  • Date: 2007-02-20 10:33:44 UTC
  • mto: This revision was merged to the branch mainline in revision 16.
  • Revision ID: james.westby@ubuntu.com-20070220103344-zgcu2psnx9d98fpa
Tags: upstream-0.90
ImportĀ upstreamĀ versionĀ 0.90

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
//===-- llvm/Support/PluginLoader.h - Plugin Loader for Tools ---*- C++ -*-===//
2
 
//
3
 
//                     The LLVM Compiler Infrastructure
4
 
//
5
 
// This file is distributed under the University of Illinois Open Source
6
 
// License. See LICENSE.TXT for details.
7
 
//
8
 
//===----------------------------------------------------------------------===//
9
 
//
10
 
// A tool can #include this file to get a -load option that allows the user to
11
 
// load arbitrary shared objects into the tool's address space.  Note that this
12
 
// header can only be included by a program ONCE, so it should never to used by
13
 
// library authors.
14
 
//
15
 
//===----------------------------------------------------------------------===//
16
 
 
17
 
#ifndef LLVM_SUPPORT_PLUGINLOADER_H
18
 
#define LLVM_SUPPORT_PLUGINLOADER_H
19
 
 
20
 
#include "llvm/Support/CommandLine.h"
21
 
 
22
 
namespace llvm {
23
 
  struct PluginLoader {
24
 
    void operator=(const std::string &Filename);
25
 
    static unsigned getNumPlugins();
26
 
    static std::string& getPlugin(unsigned num);
27
 
  };
28
 
 
29
 
#ifndef DONT_GET_PLUGIN_LOADER_OPTION
30
 
  // This causes operator= above to be invoked for every -load option.
31
 
  static cl::opt<PluginLoader, false, cl::parser<std::string> >
32
 
    LoadOpt("load", cl::ZeroOrMore, cl::value_desc("pluginfilename"),
33
 
            cl::desc("Load the specified plugin"));
34
 
#endif
35
 
}
36
 
 
37
 
#endif