~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/plugin/scheduler.cc

Merged in latest plugin-slot-reorg.

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
 */
19
19
 
20
20
#include "drizzled/server_includes.h"
21
 
#include "drizzled/service/scheduler.h"
22
21
#include "drizzled/plugin/scheduler.h"
23
22
#include "drizzled/plugin/registry.h"
24
23
 
25
24
#include "drizzled/gettext.h"
26
25
 
27
 
using namespace drizzled;
28
26
using namespace std;
29
27
 
30
 
service::Scheduler::Scheduler() : scheduler_factory(NULL), all_schedulers() {}
31
 
service::Scheduler::~Scheduler() {}
32
 
 
33
 
void service::Scheduler::add(plugin::SchedulerFactory *factory)
 
28
namespace drizzled
 
29
{
 
30
 
 
31
plugin::SchedulerFactory *scheduler_factory= NULL;
 
32
Registry<plugin::SchedulerFactory *> all_schedulers;
 
33
 
 
34
void plugin::SchedulerFactory::add(plugin::SchedulerFactory *factory)
34
35
{
35
36
  if (all_schedulers.count(factory->getName()) != 0)
36
37
  {
44
45
}
45
46
 
46
47
 
47
 
void service::Scheduler::remove(plugin::SchedulerFactory *factory)
 
48
void plugin::SchedulerFactory::remove(plugin::SchedulerFactory *factory)
48
49
{
49
50
  scheduler_factory= NULL;
50
51
  all_schedulers.remove(factory);
51
52
}
52
53
 
53
54
 
54
 
bool service::Scheduler::setFactory(const string& name)
 
55
bool plugin::SchedulerFactory::setFactory(const string& name)
55
56
{
56
57
   
57
58
  plugin::SchedulerFactory *factory= all_schedulers.find(name);
67
68
  return false;
68
69
}
69
70
 
70
 
plugin::Scheduler *service::Scheduler::getScheduler()
 
71
plugin::Scheduler *plugin::SchedulerFactory::getScheduler()
71
72
{
72
73
  assert(scheduler_factory != NULL);
73
74
  plugin::Scheduler *sched= (*scheduler_factory)();
78
79
  }
79
80
  return sched;
80
81
}
 
82
 
 
83
} /* namespace drizzled */