예제 #1
0
LogDriver *
systemd_journal_sd_new(GlobalConfig *cfg)
{
    SystemdJournalSourceDriver *self = g_new0(SystemdJournalSourceDriver, 1);
    log_src_driver_init_instance(&self->super, cfg);
    self->super.super.super.init = __init;
    self->super.super.super.deinit = __deinit;
    self->super.super.super.free_fn = __free;
    journal_reader_options_defaults(&self->reader_options);
    self->journald = journald_new();
    return &self->super.super;
}
예제 #2
0
static gboolean
__init(LogPipe *s)
{
  TestSource *self = (TestSource *)s;
  self->reader = journal_reader_new(configuration, self->journald_mock);
  journal_reader_options_defaults(&self->options);
  if (self->current_test_case && self->current_test_case->init)
    {
      self->current_test_case->init(self->current_test_case, self, self->journald_mock, self->reader, &self->options);
    }
  journal_reader_options_init(&self->options, configuration, "test");
  journal_reader_set_options((LogPipe *)self->reader, &self->super, &self->options, 3, SCS_JOURNALD, "test", "1");
  log_pipe_append((LogPipe *)self->reader, &self->super);
  assert_true(log_pipe_init((LogPipe *)self->reader), ASSERTION_ERROR("Can't initialize reader"));
  return TRUE;
}
예제 #3
0
TestSource *
test_source_new(GlobalConfig *cfg)
{
  TestSource *self = g_new0(TestSource, 1);
  log_pipe_init_instance(&self->super, cfg);
  self->super.init = __init;
  self->super.deinit = __deinit;
  self->super.free_fn = __free;
  self->super.queue = __queue;
  self->journald_mock = journald_mock_new();
  journal_reader_options_defaults(&self->options);

  IV_TASK_INIT(&self->start);
  self->start.cookie = self;
  self->start.handler = __start_source;
  IV_TASK_INIT(&self->stop);
  self->stop.cookie = self;
  self->stop.handler = __stop_source;
  return self;
}