|
|
1.1 root 1: /*
2: Copyright (c) 2010 TrueCrypt Developers Association. All rights reserved.
3:
4: Governed by the TrueCrypt License 3.0 the full text of which is contained in
5: the file License.txt included in TrueCrypt binary and source code distribution
6: packages.
7: */
8:
9: #ifndef TC_HEADER_Mount_FavoriteVolumes
10: #define TC_HEADER_Mount_FavoriteVolumes
11:
12: #include <Tcdefs.h>
13:
14: namespace TrueCrypt
15: {
16: struct FavoriteVolume
17: {
18: FavoriteVolume()
19: :
20: DisableHotkeyMount (false),
21: DisconnectedDevice (false),
22: MountOnLogOn (false),
23: MountOnArrival (false),
24: OpenExplorerWindow (false),
25: ReadOnly (false),
26: Removable (false),
27: SystemEncryption (false)
28: {
29: }
30:
31: string Path;
32: string MountPoint;
33: string VolumePathId;
34: wstring Label;
35:
36: bool DisableHotkeyMount;
37: bool DisconnectedDevice;
38: bool MountOnLogOn;
39: bool MountOnArrival;
40: bool OpenExplorerWindow;
41: bool ReadOnly;
42: bool Removable;
43: bool SystemEncryption;
44: };
45:
46: struct FavoriteVolumesDlgProcArguments
47: {
48: bool SystemFavorites;
49: bool AddFavoriteVolume;
50: FavoriteVolume NewFavoriteVolume;
51: };
52:
53: extern vector <FavoriteVolume> FavoriteVolumes;
54: extern list <FavoriteVolume> FavoritesOnArrivalMountRequired;
55: extern list <FavoriteVolume> FavoritesMountedOnArrivalStillConnected;
56: extern HMENU FavoriteVolumesMenu;
57:
58: BOOL AddMountedVolumeToFavorites (HWND hwndDlg, int driveNo, bool systemFavorites);
59: static BOOL CALLBACK FavoriteVolumesDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
60: static void FillFavoriteVolumesMenu ();
61: static void FillListControl (HWND favoriteListControl, vector <FavoriteVolume> &favorites);
62: static void FillListControlSubItems (HWND favoriteListControl, int line, const FavoriteVolume &favorite);
63: wstring GetFavoriteVolumeLabel (const string &volumePath);
64: void LoadFavoriteVolumes ();
65: void LoadFavoriteVolumes (vector <FavoriteVolume> &favorites, bool systemFavorites, bool noUacElevation = false);
66: static void OnFavoriteVolumesUpdated ();
67: BOOL OrganizeFavoriteVolumes (HWND hwndDlg, bool systemFavorites, const FavoriteVolume &newFavorite = FavoriteVolume());
68: static bool SaveFavoriteVolumes (const vector <FavoriteVolume> &favorites, bool systemFavorites);
69: static void SetControls (HWND hwndDlg, const FavoriteVolume &favorite, bool systemFavoritesMode, bool enable = true);
70: static void SetFavoriteVolume (HWND hwndDlg, FavoriteVolume &favorite, bool systemFavoritesMode);
71: void UpdateDeviceHostedFavoriteVolumes ();
72: }
73:
74: #endif // TC_HEADER_Mount_FavoriteVolumes
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.