/* filter.c */

#include "kernel.h"
#include "swis.h"
#include "debug.h"
#include <stdlib.h>

#include "filter.h"

extern void RealPostFilter(void);
static void *our_ws;

_kernel_oserror *PostFilter(_kernel_swi_regs *r)
{
#if 0
   _kernel_oserror *err;
   _kernel_swi_regs regs;
   int *pEvent = (int *) r->r[1];
   int w = pEvent[0];
   int i = pEvent[1];

   TRACE("Window %08x, icon %d\n", w, i);
#endif
   return NULL;
}

static const char *filterName = "X-Files";

static void RemoveFilters(void)
{
#if 0
   _kernel_swi_regs regs;

   regs.r[0] = (int) filterName;
   regs.r[1] = (int) RealPostFilter;
   regs.r[2] = (int) our_ws;
   regs.r[3] = 0;   /* all tasks */
   regs.r[4] = ~(1<<8);

   (void) _kernel_swi(Filter_DeRegisterPostFilter, &regs, &regs);
#endif   
}

_kernel_oserror *InstallFilters(void *ws)
{
#if 0
   _kernel_swi_regs regs;
   our_ws = ws;

   atexit(RemoveFilters);

   regs.r[0] = (int) filterName;
   regs.r[1] = (int) RealPostFilter;
   regs.r[2] = (int) our_ws;
   regs.r[3] = 0;   /* all tasks */
   regs.r[4] = ~(1<<8);

   return _kernel_swi(Filter_RegisterPostFilter, &regs, &regs);
#else
   return NULL;
#endif      
}
