~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/module/context.h

  • Committer: Mark Atwood
  • Date: 2011-08-11 03:05:03 UTC
  • mfrom: (2385.1.12 refactor4)
  • Revision ID: me@mark.atwood.name-20110811030503-rp9xjihc5x3y0x4q
merge lp:~olafvdspek/drizzle/refactor4

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
18
18
 */
19
19
 
20
 
#ifndef DRIZZLED_MODULE_CONTEXT_H
21
 
#define DRIZZLED_MODULE_CONTEXT_H
 
20
#pragma once
22
21
 
23
22
/**
24
23
 * @file Defines a Plugin Context
35
34
 * to force things like proper name prefixing and the like.
36
35
 */
37
36
 
38
 
#include "drizzled/module/registry.h"
39
 
 
40
 
#include "drizzled/visibility.h"
41
 
 
42
 
namespace drizzled
43
 
{
44
 
 
45
 
class sys_var;
46
 
 
47
 
namespace module
48
 
{
49
 
 
50
 
class Module;
51
 
class option_map;
52
 
 
53
 
class DRIZZLED_API Context
54
 
{
55
 
private:
56
 
  module::Registry &registry;
57
 
  module::Module *module;
58
 
 
59
 
  Context(const Context&);
60
 
  Context& operator=(const Context&);
 
37
#include <boost/noncopyable.hpp>
 
38
#include <drizzled/module/registry.h>
 
39
#include <drizzled/visibility.h>
 
40
 
 
41
namespace drizzled {
 
42
namespace module {
 
43
 
 
44
class DRIZZLED_API Context : boost::noncopyable
 
45
{
61
46
public:
62
47
 
63
48
  Context(module::Registry &registry_arg,
85
70
 
86
71
  static std::string prepend_name(std::string module_name,
87
72
                                  const std::string &var_name);
 
73
private:
 
74
  module::Registry &registry;
 
75
  module::Module *module;
88
76
};
89
77
 
90
78
 
91
79
} /* namespace module */
92
80
} /* namespace drizzled */
93
81
 
94
 
#endif /* DRIZZLED_MODULE_CONTEXT_H */