
#ifndef __PROCESS_WATCHER_H__
#define __PROCESS_WATCHER_H__

typedef struct s_ProcessWatcher ProcessWatcher;

ProcessWatcher * process_watcher_new (void);
void process_watcher_destroy (void *ptr);

typedef void (*ProcessWatcherDelegate) (void *context, int status);

ProcessWatcher * process_watcher_getInstance (void);

void process_watcher_watchPid (ProcessWatcher *instance, int pid,
                ProcessWatcherDelegate delegate, void *context);

void process_watcher_removeWatchPid (ProcessWatcher *instance, int pid);

#endif
