Main Page | Class List | File List | Class Members | File Members

icd-main.cpp File Reference

inotify cron daemon main file More...

#include <map>
#include <signal.h>
#include <wait.h>
#include <pwd.h>
#include <dirent.h>
#include <syslog.h>
#include <errno.h>
#include <sys/poll.h>
#include "inotify-cxx.h"
#include "incrontab.h"
#include "usertable.h"

Defines

#define DAEMON   true
#define INCRON_APP_NAME   "incrond"
#define INCRON_LOG_OPTS   (LOG_CONS | LOG_PID)
#define INCRON_LOG_FACIL   LOG_CRON

Typedefs

typedef std::map< std::string,
UserTable * > 
SUT_MAP

Functions

void on_signal (int signo)
 Handles a signal.
bool check_user (const char *user)
 Checks whether an user exists and has permission to use incron.
void load_tables (Inotify *pIn, EventDispatcher *pEd) throw (InotifyException)
 Attempts to load all user incron tables.
int main (int argc, char **argv)
 Main application function.

Variables

SUT_MAP g_ut
volatile bool g_fFinish = false


Detailed Description

inotify cron daemon main file

inotify cron system

Copyright (C) 2006 Lukas Jelinek, <lukas@aiken.cz>

This program is free software; you can use it, redistribute it and/or modify it under the terms of the GNU General Public License, version 2 (see LICENSE-GPL).


Define Documentation

#define DAEMON   true
 

#define INCRON_APP_NAME   "incrond"
 

#define INCRON_LOG_FACIL   LOG_CRON
 

#define INCRON_LOG_OPTS   (LOG_CONS | LOG_PID)
 


Typedef Documentation

typedef std::map<std::string, UserTable*> SUT_MAP
 


Function Documentation

bool check_user const char *  user  ) 
 

Checks whether an user exists and has permission to use incron.

It searches for the given user name in the user database. If it failes it returns 'false'. Otherwise it checks permission files for this user (see InCronTab::CheckUser()).

Parameters:
[in] user user name
Returns:
true = user has permission to use incron, false = otherwise
See also:
InCronTab::CheckUser()

void load_tables Inotify pIn,
EventDispatcher pEd
throw (InotifyException)
 

Attempts to load all user incron tables.

Loaded tables are registered for processing events.

Parameters:
[in] pIn inotify object
[in] pEd inotify event dispatcher
Exceptions:
InotifyException thrown if base table directory cannot be read

int main int  argc,
char **  argv
 

Main application function.

Parameters:
[in] argc argument count
[in] argv argument array
Returns:
0 on success, 1 on error
Attention:
In daemon mode, it finishes immediately.

void on_signal int  signo  ) 
 

Handles a signal.

For SIGTERM and SIGINT it sets the program finish variable.

Parameters:
[in] signo signal number


Variable Documentation

volatile bool g_fFinish = false
 

SUT_MAP g_ut
 


Generated on Wed Oct 4 19:51:39 2006 for incron by  doxygen 1.4.4