| LEFT | RIGHT |
| 1 /** | 1 /** |
| 2 * \file process.h | 2 * \file process.h |
| 3 */ | 3 */ |
| 4 | 4 |
| 5 #ifndef PROCESS_H | 5 #ifndef PROCESS_H |
| 6 #define PROCESS_H | 6 #define PROCESS_H |
| 7 | 7 |
| 8 #include <vector> | 8 #include <vector> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <algorithm> | 10 #include <algorithm> |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 100 { | 100 { |
| 101 bool operator()( const file_name & a, const file_name & b ) const | 101 bool operator()( const file_name & a, const file_name & b ) const |
| 102 { | 102 { |
| 103 return wcscmpi( a.name, b.name ) < 0 ; | 103 return wcscmpi( a.name, b.name ) < 0 ; |
| 104 } | 104 } |
| 105 } ; | 105 } ; |
| 106 | 106 |
| 107 struct file_name_set | 107 struct file_name_set |
| 108 : public std::set< file_name > | 108 : public std::set< file_name > |
| 109 { | 109 { |
| 110 file_name_set(){}; |
| 111 |
| 110 file_name_set( const wchar_t * file_name_list[], size_t n_file_names ) | 112 file_name_set( const wchar_t * file_name_list[], size_t n_file_names ) |
| 111 { | 113 { |
| 112 for ( unsigned int j = 0 ; j < n_file_names ; ++ j ) | 114 for ( unsigned int j = 0 ; j < n_file_names ; ++ j ) |
| 113 { | 115 { |
| 114 insert( file_name( file_name_list[ j ] ) ) ; | 116 insert( file_name( file_name_list[ j ] ) ) ; |
| 115 } | 117 } |
| 116 } | 118 } |
| 117 } ; | 119 } ; |
| 118 | 120 |
| 119 //------------------------------------------------------- | 121 //------------------------------------------------------- |
| (...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 555 if ( ! b ) | 557 if ( ! b ) |
| 556 { | 558 { |
| 557 // Assert the process that created the window is not in our pid_set | 559 // Assert the process that created the window is not in our pid_set |
| 558 return true ; | 560 return true ; |
| 559 } | 561 } |
| 560 return f( window ) ; | 562 return f( window ) ; |
| 561 } | 563 } |
| 562 } ; | 564 } ; |
| 563 | 565 |
| 564 public: | 566 public: |
| 565 Process_Closer( Snapshot & snapshot, const wchar_t * file_name_list[], size_t
n_file_names, const wchar_t * module_name_list[], size_t n_module_names ) | 567 template <size_t n_file_names, size_t n_module_names> |
| 566 : snapshot( snapshot ), file_names( file_name_list, n_file_names ), module_n
ames(module_name_list, n_module_names), filter( file_names, module_names ) | 568 Process_Closer(Snapshot & snapshot, const wchar_t* (&file_name_list)[n_file_na
mes], const wchar_t* (&module_name_list)[n_module_names]) |
| 569 : snapshot(snapshot), file_names(file_name_list, n_file_names), module_names
(module_name_list, n_module_names), filter(file_names, module_names) |
| 570 { |
| 571 update() ; |
| 572 } |
| 573 template <size_t n_file_names> |
| 574 Process_Closer(Snapshot & snapshot, const wchar_t * (&file_name_list)[n_file_n
ames]) |
| 575 : snapshot(snapshot), file_names(file_name_list, n_file_names), module_names
(), filter(file_names, module_names) |
| 567 { | 576 { |
| 568 update() ; | 577 update() ; |
| 569 } | 578 } |
| 570 | 579 |
| 571 /** | 580 /** |
| 572 * Refresh our state to match the snapshot state. | 581 * Refresh our state to match the snapshot state. |
| 573 */ | 582 */ |
| 574 void refresh() | 583 void refresh() |
| 575 { | 584 { |
| 576 pid_set.clear() ; | 585 pid_set.clear() ; |
| (...skipping 12 matching lines...) Expand all Loading... |
| 589 } | 598 } |
| 590 | 599 |
| 591 /* | 600 /* |
| 592 * Shut down every process in the pid_set. | 601 * Shut down every process in the pid_set. |
| 593 */ | 602 */ |
| 594 bool shut_down() ; | 603 bool shut_down() ; |
| 595 | 604 |
| 596 } ; | 605 } ; |
| 597 | 606 |
| 598 #endif | 607 #endif |
| LEFT | RIGHT |