~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/module/library.h

  • Committer: Olaf van der Spek
  • Date: 2011-02-12 18:24:24 UTC
  • mto: (2167.1.2 build) (2172.1.4 build)
  • mto: This revision was merged to the branch mainline in revision 2168.
  • Revision ID: olafvdspek@gmail.com-20110212182424-kgnm9osi7qo97at2
casts

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
2
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
3
 *
4
 
 *  Copyright (C) 2009 Sun Microsystems
 
4
 *  Copyright (C) 2009 Sun Microsystems, Inc.
5
5
 *
6
6
 *  This program is free software; you can redistribute it and/or modify
7
7
 *  it under the terms of the GNU General Public License as published by
17
17
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
18
18
 */
19
19
 
20
 
#ifndef DRIZZLED_PLUGIN_LIBRARY_H
21
 
#define DRIZZLED_PLUGIN_LIBRARY_H
 
20
#ifndef DRIZZLED_MODULE_LIBRARY_H
 
21
#define DRIZZLED_MODULE_LIBRARY_H
22
22
 
23
23
/**
24
24
 * @file Defines a Plugin Library Wrapper
30
30
 
31
31
#include <string>
32
32
 
 
33
#include <boost/filesystem.hpp>
 
34
 
33
35
namespace drizzled
34
36
{
35
 
namespace plugin
 
37
namespace module
36
38
{
37
39
 
38
 
class Manifest;
 
40
struct Manifest;
39
41
 
40
42
/* A handle for the dynamic library containing a plugin or plugins. */
41
43
class Library
53
55
  Library(const std::string &name_arg,
54
56
          void *handle_arg,
55
57
          const Manifest *manifest_arg);
 
58
 
56
59
public:
57
60
  ~Library();
58
61
 
66
69
    return manifest;
67
70
  }
68
71
 
69
 
  static Library *loadLibrary(const std::string &plugin_name);
 
72
  static const boost::filesystem::path getLibraryPath(const std::string &plugin_name);
 
73
  static Library *loadLibrary(const std::string &plugin_name, bool builtin);
70
74
};
71
75
 
72
 
} /* namespace plugin */
 
76
} /* namespace module */
73
77
} /* namespace drizzled */
74
78
 
75
 
#endif /* DRIZZLED_PLUGIN_LIBRARY_H */
 
79
#endif /* DRIZZLED_MODULE_LIBRARY_H */