
This is the beginning of katdaemon .....
Code needs to be fixed up a bit. just posting it in this state to get the ball rolling ...

Any problems/rants/suggestions mail praveen9@gmail.com. 

STATUS ::
	Code is usable, all the functions needed by katdaemon are fixed in libkat. The daemon should work as expected :). If it does not index any modified/created/moved files email me with the problem with description. By default the daemon spews out lot of debug info, if you don't want debug set KAT_DAEMON_NODEBUG. This will be changed before releasing the code.

PREREQUISITES ::
1. Needs inotify = 0.24 

OTHER POINTS ::
1. No way to mark a database as needing autoupdate. (autoupdate field in catalog must be 2 for the catalog to be picked up by the katdaemon - see katdaemonlist.cpp, line #23).
2. No system tray integration yet, On startup popups a dialog where you can control the catalogs which need to be auto-updated.

Other things i am forgetting ..

CHANGELOG ::
(June 30, 2005)
1. Fix up sending of status signals to katindexer from both threads -- Done
2. Protect m_processFiles and m_moveMap in KatIndexerThread with mutexes -- Done
3. Change KatIndexerThread such that we use a randomly generated table for temporary storage whike Indexer is scanning. - DONE
4. After the scan is finished, go through files table and delete files not anymore on fs - DONE
5. When Doing Update action, remove metainfo for the table beforehand. - DONE
6. Fix usage of m_moveMap - DONE.
7. Use Create,CheckUpdate for KAtIndexer::Action - DONE
8. While processing MoveFrom hold it until MoveTo event arrives - DONE THIS IS  TAKEN CARE OF IN inotify-qt.cpp
9. Consolidate all signals from inotify-qt into 1. - DONE
10. Remove fileid from katprocessthread.cpp - DONE
11. In performAction run through the list  create QStringList and the n pass them around to the respective functions in _ksf and m_kie - DONE
12. Fix the functions called from katprocessthread.cpp myself. - DONE
13. Fix up inotify - DONE
14. Use QCustomEvent in SnarfThread, DispatchThread. - DONE
15. Enable support for Inotify 0.23 - DONE
16. Write recursive delete (for MovedFrom events) - DONE
17. Give DB Temp table its own API - DONE
18. Make destructors in KatScanFolder, KatInfoExtractor public so we can delete them - DONE
19. Remove all access to DB from katdaemon. - DONE
20. Call updateCatalog after processing the files in KatProcessThread, otherwise the catalog is not rewritten to the database - DONE
21. Merge latest version of inotify-glue.c from beagle. (DONE)

TODO ::
1. Enable command line client which doesn't show gui and doesn't block.
2. Enable a dcop interface to connect to the client.
3. (IMPORTANT) -- Reduce the amount of debug messages spewed by the daemon.


