1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
-*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
3
* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
4
5
* Definitions required for Error Message plugin
6
* Copyright (C) 2008 Sun Microsystems, Inc.
7
* Copyright (C) 2008 Mark Atwood
8
9
* This program is free software; you can redistribute it and/or modify
9
10
* it under the terms of the GNU General Public License as published by
19
20
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22
#ifndef DRIZZLED_PLUGIN_ERROR_MESSAGE_H
23
#define DRIZZLED_PLUGIN_ERROR_MESSAGE_H
25
#include <drizzled/plugin/plugin.h>
26
#include <drizzled/error/level_t.h>
23
#ifndef DRIZZLED_PLUGIN_ERRMSG_H
24
#define DRIZZLED_PLUGIN_ERRMSG_H
28
26
#include <stdarg.h>
32
#include <drizzled/visibility.h>
40
class DRIZZLED_API ErrorMessage : public Plugin
43
ErrorMessage(const ErrorMessage &);
44
ErrorMessage& operator=(const ErrorMessage &);
47
explicit ErrorMessage(std::string name_arg)
48
: Plugin(name_arg, "ErrorMessage")
50
virtual ~ErrorMessage() {}
52
virtual bool errmsg(error::level_t priority, const char *format, va_list ap)=0;
54
static bool addPlugin(plugin::ErrorMessage *handler);
55
static void removePlugin(plugin::ErrorMessage *handler);
57
static bool vprintf(error::level_t priority, char const *format, va_list ap);
59
bool removeLast() const
65
} /* namespace plugin */
66
} /* namespace drizzled */
68
#endif /* DRIZZLED_PLUGIN_ERROR_MESSAGE_H */
28
typedef struct errmsg_st
30
bool (*errmsg_func)(Session *session, int priority, const char *format, va_list ap);
33
#endif /* DRIZZLED_PLUGIN_ERRMSG_H */