- Timestamp:
- 11/12/07 16:39:31 (5 years ago)
- File:
-
- 1 edited
-
trunk/src/forge.erl (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/forge.erl
r11 r12 19 19 [file_monitor:stop (M) || M <- Monitors]; 20 20 {monitor_files, File_system, Dir} -> 21 Forge = self(),22 Tell_server = fun (Event, File_name, _) -> Forge ! {Event, File_name} end,23 loop (Listeners, Smiths, Dashboard, [file_monitor:start (File_system, Dir, Tell_server)]);21 loop ( 22 Listeners, Smiths, Dashboard, 23 [file_monitor:start (File_system, Dir, send_me_file_events_with_extension () )]); 24 24 {add_event_handler, F} -> 25 25 loop ([F | Listeners], Smiths, Dashboard, Monitors); 26 {found, File} -> 27 Smith = file_handler (filename:extension (File), File), 26 {found, ".erl", File} -> 27 Forge = self(), 28 Smith = spawn_link (fun () -> smith:start (File, Forge) end), 28 29 loop (Listeners, add_smith (File, Smith, Smiths), Dashboard, Monitors); 29 {modified, File} ->30 {modified, ".erl", File} -> 30 31 Smith = fetch (File, Smiths), 31 32 Smith ! {self(), modified}, … … 35 36 notify (Event, New_dashboard, Listeners), 36 37 loop (Listeners, Smiths, New_dashboard, Monitors) 38 end. 39 40 send_me_file_events_with_extension () -> 41 Me = self(), 42 fun (Event, File_name, _) -> 43 Extension = filename:extension (File_name), 44 Me ! {Event, Extension, File_name} 37 45 end. 38 46 … … 45 53 Listeners). 46 54 47 file_handler (".erl", File) ->48 Forge = self(),49 spawn_link (fun () -> smith:start (File, Forge) end);50 file_handler (_, _) ->51 no_handler.52 53 55 add_smith (File, Smith, Smiths) when is_pid (Smith) -> 54 56 store (File, Smith, Smiths);
Note: See TracChangeset
for help on using the changeset viewer.
