~drizzle-trunk/drizzle/development

1857.3.3 by Monty Taylor
It works - has a valgrind issue somewhere.
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
 *
4
 *  Copyright (C) 2010 Monty Taylor
5
 *
6
 *  This program is free software; you can redistribute it and/or modify
7
 *  it under the terms of the GNU General Public License as published by
8
 *  the Free Software Foundation; version 2 of the License.
9
 *
10
 *  This program is distributed in the hope that it will be useful,
11
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 *  GNU General Public License for more details.
14
 *
15
 *  You should have received a copy of the GNU General Public License
16
 *  along with this program; if not, write to the Free Software
17
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
18
 */
19
20
#include "config.h"
1857.3.6 by Monty Taylor
Added missing include.
21
22
#include <algorithm>
23
1857.3.3 by Monty Taylor
It works - has a valgrind issue somewhere.
24
#include "drizzled/module/module.h"
1878.3.1 by Monty Taylor
Split set_var.* into sys_var.* and set_var.*
25
#include "drizzled/sys_var.h"
1857.3.4 by Monty Taylor
Track lifecycle of sys_var different form plugin_sysvar
26
#include "drizzled/util/functors.h"
2095.3.1 by Monty Taylor
Re-purpose the old plugin sysvar slot in the struct to be a depends list.
27
#include "drizzled/util/tokenize.h"
2095.3.7 by Monty Taylor
Fixed the dependency graph so that it doesn't get included in sql_yacc.yy.
28
#include "drizzled/module/vertex_handle.h"
1857.3.3 by Monty Taylor
It works - has a valgrind issue somewhere.
29
30
namespace drizzled
31
{
32
33
namespace module
34
{
35
2095.3.1 by Monty Taylor
Re-purpose the old plugin sysvar slot in the struct to be a depends list.
36
Module::Module(const Manifest *manifest_arg,
37
       Library *library_arg) :
38
  name(manifest_arg->name),
39
  manifest(manifest_arg),
2095.3.7 by Monty Taylor
Fixed the dependency graph so that it doesn't get included in sql_yacc.yy.
40
  vertex_(NULL),
2095.3.1 by Monty Taylor
Re-purpose the old plugin sysvar slot in the struct to be a depends list.
41
  plugin_dl(library_arg),
42
  isInited(false),
43
  system_vars(),
44
  sys_vars(),
45
  depends_()
46
{
47
  if (manifest->depends != NULL)
48
  {
49
    tokenize(manifest->depends, depends_, ",", true);
50
  }
51
  assert(manifest != NULL);
52
}
53
1857.3.3 by Monty Taylor
It works - has a valgrind issue somewhere.
54
Module::~Module()
55
{
1859.1.4 by Monty Taylor
Fixed a silly error- for_each is clearly in std:: ...
56
  std::for_each(sys_vars.begin(), sys_vars.end(), DeletePtr());
2095.3.7 by Monty Taylor
Fixed the dependency graph so that it doesn't get included in sql_yacc.yy.
57
  if (vertex_ != NULL)
58
  {
59
    delete vertex_;
60
  }
1857.3.3 by Monty Taylor
It works - has a valgrind issue somewhere.
61
}
62
63
} /* namespace module */
64
} /* namespace drizzled */