~drizzle-trunk/drizzle/development

1273.1.15 by Jay Pipes
This patch completes the first step in the splitting of
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
 *
1999.6.1 by kalebral at gmail
update Copyright strings to a more common format to help with creating the master debian copyright file
4
 *  Copyright (C) 2008 Sun Microsystems, Inc.
5
 *  Copyright (C) 2010 Jay Pipes <jaypipes@gmail.com>
1273.1.15 by Jay Pipes
This patch completes the first step in the splitting of
6
 *
7
 *  This program is free software; you can redistribute it and/or modify
8
 *  it under the terms of the GNU General Public License as published by
9
 *  the Free Software Foundation; version 2 of the License.
10
 *
11
 *  This program is distributed in the hope that it will be useful,
12
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 *  GNU General Public License for more details.
15
 *
16
 *  You should have received a copy of the GNU General Public License
17
 *  along with this program; if not, write to the Free Software
18
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19
 */
20
2173.2.1 by Monty Taylor
Fixes incorrect usage of include
21
#include <config.h>
1273.1.15 by Jay Pipes
This patch completes the first step in the splitting of
22
2173.2.1 by Monty Taylor
Fixes incorrect usage of include
23
#include <drizzled/cached_directory.h>
1273.1.15 by Jay Pipes
This patch completes the first step in the splitting of
24
25
#include <drizzled/definitions.h>
26
#include <drizzled/session.h>
27
#include <drizzled/error.h>
28
#include <drizzled/gettext.h>
29
#include <drizzled/plugin/xa_storage_engine.h>
2173.2.1 by Monty Taylor
Fixes incorrect usage of include
30
#include <drizzled/xid.h>
1273.1.15 by Jay Pipes
This patch completes the first step in the splitting of
31
32
#include <string>
33
#include <vector>
34
#include <algorithm>
35
#include <functional>
36
37
namespace drizzled
38
{
39
40
namespace plugin
41
{
42
1966.2.9 by Brian Aker
Remove the use of "using std" from the plugin interface .cc files.
43
static std::vector<XaStorageEngine *> vector_of_xa_engines;
1273.1.15 by Jay Pipes
This patch completes the first step in the splitting of
44
2353.2.6 by Stewart Smith
fix XaStorageEngine constructor for const parameter
45
XaStorageEngine::XaStorageEngine(const std::string &name_arg,
1966.2.9 by Brian Aker
Remove the use of "using std" from the plugin interface .cc files.
46
                                 const std::bitset<HTON_BIT_SIZE> &flags_arg) :
1273.1.30 by Jay Pipes
* Completes the blueprint for splitting the XA Resource Manager
47
  TransactionalStorageEngine(name_arg, flags_arg)
1273.1.15 by Jay Pipes
This patch completes the first step in the splitting of
48
{}
49
50
XaStorageEngine::~XaStorageEngine()
51
{}
52
53
bool XaStorageEngine::addPlugin(XaStorageEngine *engine)
54
{
55
  vector_of_xa_engines.push_back(engine);
56
1273.1.30 by Jay Pipes
* Completes the blueprint for splitting the XA Resource Manager
57
  return TransactionalStorageEngine::addPlugin(engine) &&
58
         XaResourceManager::addPlugin(engine);
1273.1.15 by Jay Pipes
This patch completes the first step in the splitting of
59
}
60
1273.1.30 by Jay Pipes
* Completes the blueprint for splitting the XA Resource Manager
61
void XaStorageEngine::removePlugin(XaStorageEngine *engine)
1273.1.15 by Jay Pipes
This patch completes the first step in the splitting of
62
{
63
  vector_of_xa_engines.clear();
1273.1.30 by Jay Pipes
* Completes the blueprint for splitting the XA Resource Manager
64
  TransactionalStorageEngine::removePlugin(engine);
65
  XaResourceManager::removePlugin(engine);
1273.1.15 by Jay Pipes
This patch completes the first step in the splitting of
66
}
67
68
} /* namespace plugin */
69
} /* namespace drizzled */