~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/plugin/event_observer.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:
43
43
#ifndef DRIZZLED_PLUGIN_EVENT_OBSERVER_H
44
44
#define DRIZZLED_PLUGIN_EVENT_OBSERVER_H
45
45
 
46
 
#include "drizzled/plugin/plugin.h"
47
 
#include "drizzled/session.h"
 
46
#include <drizzled/plugin/plugin.h>
48
47
 
49
48
#include <string>
50
49
 
 
50
#include <drizzled/visibility.h>
 
51
 
51
52
namespace drizzled
52
53
{
53
54
 
64
65
typedef std::vector<EventObserver *> EventObserverVector;
65
66
typedef EventObserver* EventObserverPtr;
66
67
 
67
 
class EventObserver : public Plugin
 
68
class DRIZZLED_API EventObserver : public Plugin
68
69
{
69
70
  EventObserver();
70
71
  EventObserver(const EventObserver &);
221
222
  /* Static meathods called by drizzle to notify interested plugins 
222
223
   * of a schema an event,
223
224
 */
224
 
  static bool beforeDropTable(Session &session, const drizzled::TableIdentifier &table);
225
 
  static bool afterDropTable(Session &session, const drizzled::TableIdentifier &table, int err);
226
 
  static bool beforeRenameTable(Session &session, const drizzled::TableIdentifier &from, const drizzled::TableIdentifier &to);
227
 
  static bool afterRenameTable(Session &session, const drizzled::TableIdentifier &from, const drizzled::TableIdentifier &to, int err);
 
225
  static bool beforeDropTable(Session &session, const drizzled::identifier::Table &table);
 
226
  static bool afterDropTable(Session &session, const drizzled::identifier::Table &table, int err);
 
227
  static bool beforeRenameTable(Session &session, const drizzled::identifier::Table &from, const drizzled::identifier::Table &to);
 
228
  static bool afterRenameTable(Session &session, const drizzled::identifier::Table &from, const drizzled::identifier::Table &to, int err);
228
229
  static bool connectSession(Session &session);
229
230
  static bool disconnectSession(Session &session);
230
231
  static bool beforeStatement(Session &session);
294
295
  // Call all the event observers that are registered for this event.
295
296
  virtual bool callEventObservers();
296
297
  
297
 
  static bool hasEvents(Session &in_session) { return (in_session.getSessionObservers() != NULL);}
 
298
  static bool hasEvents(Session &in_session);
298
299
};
299
300
 
300
301
//-----
335
336
  // Call all the event observers that are registered for this event.
336
337
  virtual bool callEventObservers();
337
338
  
338
 
  static bool hasEvents(Table &in_table) { return (in_table.getMutableShare()->getTableObservers() != NULL);}
 
339
  static bool hasEvents(Table &in_table);
339
340
};
340
341
 
341
342
//-----
434
435
class BeforeDropTableEventData: public SchemaEventData
435
436
{
436
437
public:
437
 
  const drizzled::TableIdentifier &table;
 
438
  const drizzled::identifier::Table &table;
438
439
 
439
 
  BeforeDropTableEventData(Session &session_arg, const drizzled::TableIdentifier &table_arg): 
 
440
  BeforeDropTableEventData(Session &session_arg, const drizzled::identifier::Table &table_arg): 
440
441
    SchemaEventData(EventObserver::BEFORE_DROP_TABLE, session_arg, table_arg.getSchemaName()), 
441
442
    table(table_arg)
442
443
  {}  
446
447
class AfterDropTableEventData: public SchemaEventData
447
448
{
448
449
public:
449
 
  const drizzled::TableIdentifier &table;
 
450
  const drizzled::identifier::Table &table;
450
451
  int err;
451
452
 
452
 
  AfterDropTableEventData(Session &session_arg, const drizzled::TableIdentifier &table_arg, int err_arg): 
 
453
  AfterDropTableEventData(Session &session_arg, const drizzled::identifier::Table &table_arg, int err_arg): 
453
454
    SchemaEventData(EventObserver::AFTER_DROP_TABLE, session_arg, table_arg.getSchemaName()), 
454
455
    table(table_arg), 
455
456
    err(err_arg)
460
461
class BeforeRenameTableEventData: public SchemaEventData
461
462
{
462
463
public:
463
 
  const drizzled::TableIdentifier &from;
464
 
  const drizzled::TableIdentifier &to;
 
464
  const drizzled::identifier::Table &from;
 
465
  const drizzled::identifier::Table &to;
465
466
 
466
 
  BeforeRenameTableEventData(Session &session_arg, const drizzled::TableIdentifier &from_arg, const drizzled::TableIdentifier &to_arg): 
 
467
  BeforeRenameTableEventData(Session &session_arg, const drizzled::identifier::Table &from_arg, const drizzled::identifier::Table &to_arg): 
467
468
    SchemaEventData(EventObserver::BEFORE_RENAME_TABLE, session_arg, from_arg.getSchemaName()), 
468
469
    from(from_arg), 
469
470
    to(to_arg)
474
475
class AfterRenameTableEventData: public SchemaEventData
475
476
{
476
477
public:
477
 
  const drizzled::TableIdentifier &from;
478
 
  const drizzled::TableIdentifier &to;
 
478
  const drizzled::identifier::Table &from;
 
479
  const drizzled::identifier::Table &to;
479
480
  int err;
480
481
 
481
 
  AfterRenameTableEventData(Session &session_arg, const drizzled::TableIdentifier &from_arg, const drizzled::TableIdentifier &to_arg, int err_arg): 
 
482
  AfterRenameTableEventData(Session &session_arg, const drizzled::identifier::Table &from_arg, const drizzled::identifier::Table &to_arg, int err_arg): 
482
483
    SchemaEventData(EventObserver::AFTER_RENAME_TABLE, session_arg, from_arg.getSchemaName()), 
483
484
    from(from_arg), 
484
485
    to(to_arg),