Clarified the lifecycle of file monitors and archives.
1. StartMonitoring() is now two calls: UpdateArchives() (initializiation) and StartMonitoring() (just starts monitoring and nothing else)
2. StopMonitoring() is now two calls: StopMonitoring() (stops monitoring the source) and Dispose() (closes the archives, etc)
Added the new DirectoryScanningMonitor (plus tests) class. The DirectoryScanningMonitor will form the basis of the VisualStudio SourceMonitor class that will replace SolutionMonitor.
Added IsMonitoringFile(string) method to DirectoryScanningMonitor
DirectoryScanningMonitor.AddDirectory(string) now throws a DirectoryScanningMonitorSubDirectoryException if the directory to be added is a subdirectory of a directory already in MonitoredDirectories.
Added a RemoveDirectory(string) method to DirectoryScanningMonitor
Fixed summary comments.
Changed DirectoryScanningMonitor.StopMonitoring() to execute only if ScanTimer.Enabled is true.
Changed DirectoryScanningMonitor.RemoveDirectory(string) to execute only when nothing else (primarily ScanTimer_Elapsed) is running. If StartMonitoring() has not been called (ScanTimer.Enabled is false) then RemoveDirectory simply executes.
Fixed and added documentation.
Added save/restore functionality to the directory scanning monitor.
Implemented Dispose() pattern from C# 4.0 in a nuthsell.
Changed the DirectoryScanningMonitor to automatically store the list of monitored directories in baseDirectory.
Updated layout of DataRepository class.
Added C parser to DataRepository (A C++ parser used for C code)
Changed DirectoryScanningMonitor.DEFAULT_SCAN_INTERVAL to be a public constant
Added new SourceMonitor based on DirectoryScanningMonitor to replace the old SolutionMonitor.
Copied GetOpenSolution() from SolutionMonitorToFactory to SrcMLGlobalService -- this removes the service dependency on the SolutionMonitor project.
Reworked the constructors for SourceMonitor to be more cohesive.
Changed the SourceMonitor to set AbstractFileMonitor.UseAsyncMethods to true by default.
Cleanup and documentation in SrcMLService project