Returns the list of COM plugins registered to be used with Path Copy Copy. @return IDs of COM plugin classes.
| 815 | // @return IDs of COM plugin classes. |
| 816 | // |
| 817 | CLSIDV Settings::GetCOMPlugins() const |
| 818 | { |
| 819 | // Perform late-revising. |
| 820 | Revise(); |
| 821 | |
| 822 | // Fetch COM plugins from both user and global key. |
| 823 | CLSIDV vPluginIds; |
| 824 | GetCOMPlugins(m_UserPluginsKey, vPluginIds); |
| 825 | if (m_GlobalPluginsKey.Valid()) { |
| 826 | GetCOMPlugins(m_GlobalPluginsKey, vPluginIds); |
| 827 | } |
| 828 | |
| 829 | // Now sort them and remove duplicates since a plugin might be registered |
| 830 | // globally AND for the current user. |
| 831 | std::sort(vPluginIds.begin(), vPluginIds.end(), CLSIDLess()); |
| 832 | vPluginIds.erase(std::unique(vPluginIds.begin(), vPluginIds.end(), CLSIDEqualTo()), vPluginIds.end()); |
| 833 | |
| 834 | return vPluginIds; |
| 835 | } |
| 836 | |
| 837 | // |
| 838 | // Registers a plugin in the Path Copy Copy registry so that it is used in the contextual menu. |