~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/slot/logging.h

Merged in plugin-slot-reorg patches.

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_LOGGING_H
21
 
#define DRIZZLED_LOGGING_H
22
 
 
23
 
#include <drizzled/plugin/logging_handler.h>
 
20
#ifndef DRIZZLED_SLOT_LOGGING_H
 
21
#define DRIZZLED_SLOT_LOGGING_H
 
22
 
 
23
#include <drizzled/plugin/logging.h>
 
24
 
 
25
#include <vector>
 
26
 
 
27
namespace drizzled
 
28
{
 
29
namespace slot
 
30
{
24
31
 
25
32
/* there are no parameters other than the session because logging can
26
33
 * pull everything it needs out of the session.  If need to add
27
34
 * parameters, look at how errmsg.h and errmsg.cc do it. */
28
35
 
29
 
bool logging_pre_do (Session *session);
30
 
bool logging_post_do (Session *session);
31
 
void add_logger(Logging_handler *handler);
32
 
void remove_logger(Logging_handler *handler);
33
 
 
34
 
#endif /* DRIZZLED_LOGGING_H */
 
36
class Logging
 
37
{
 
38
private:
 
39
  std::vector<plugin::Logging *> all_loggers;
 
40
 
 
41
public:
 
42
  Logging() : all_loggers() {}
 
43
  ~Logging() {}
 
44
 
 
45
  void add(plugin::Logging *handler);
 
46
  void remove(plugin::Logging *handler);
 
47
  bool pre_do(Session *session);
 
48
  bool post_do(Session *session);
 
49
};
 
50
 
 
51
} /* namespace slot */
 
52
} /* namespace drizzled */
 
53
 
 
54
#endif /* DRIZZLED_SLOT_LOGGING_H */