~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/plugin/function.h

  • Committer: Brian Aker
  • Date: 2011-02-22 06:12:02 UTC
  • mfrom: (2190.1.6 drizzle-build)
  • Revision ID: brian@tangent.org-20110222061202-k03czxykqy4x9hjs
List update, header fixes, multiple symbols, and David deletes some code.

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) 2008 Sun Microsystems
 
4
 *  Copyright (C) 2008 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
21
21
#define DRIZZLED_PLUGIN_FUNCTION_H
22
22
 
23
23
 
24
 
#include "drizzled/plugin/plugin.h"
25
 
#include "drizzled/item/func.h"
 
24
#include <drizzled/item/func.h>
 
25
#include <drizzled/plugin.h>
 
26
#include <drizzled/plugin/plugin.h>
26
27
 
27
28
#include <string>
28
29
#include <vector>
29
30
#include <functional>
30
31
 
 
32
#include <boost/unordered_map.hpp>
 
33
 
 
34
#include <drizzled/visibility.h>
 
35
 
31
36
namespace drizzled
32
37
{
33
38
 
38
43
  class Root;
39
44
}
40
45
 
 
46
namespace util
 
47
{
 
48
struct insensitive_hash;
 
49
struct insensitive_equal_to;
 
50
}
 
51
 
41
52
namespace plugin
42
53
{
43
54
 
44
55
/**
45
56
 * Functions in the server: AKA UDF
46
57
 */
47
 
class Function
 
58
class DRIZZLED_API Function
48
59
  : public Plugin,
49
60
    public std::unary_function<memory::Root*, Item_func *>
50
61
{
69
80
   */
70
81
  static void removePlugin(const plugin::Function *function_obj);
71
82
 
72
 
  /**
73
 
   * Accept a new connection (Protocol object) on one of the configured
74
 
   * listener interfaces.
75
 
   */
76
83
  static const plugin::Function *get(const char *name, size_t len=0);
77
84
 
78
85
  typedef boost::unordered_map<std::string, const plugin::Function *, util::insensitive_hash, util::insensitive_equal_to> UdfMap;
 
86
  typedef boost::unordered_map<std::string, const plugin::Function *, util::insensitive_hash, util::insensitive_equal_to> Map;
79
87
 
80
88
  static const UdfMap &getMap();
81
89
};