Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(679)

Unified Diff: base/win/shortcut.h

Issue 108193019: Installer: adding ResolveShortcutProperties(); updating shortcut icons during shortcut migration. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixing path comparison in ShortcutTest. Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | base/win/shortcut.cc » ('j') | base/win/shortcut.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/win/shortcut.h
diff --git a/base/win/shortcut.h b/base/win/shortcut.h
index 0f5fb0f686be84e521f8ee403a5a3b903053c353..13940ed52c464eb932ef79fc031900e0a25c31af 100644
--- a/base/win/shortcut.h
+++ b/base/win/shortcut.h
@@ -31,13 +31,21 @@ enum ShortcutOperation {
// setting |options| as desired.
struct ShortcutProperties {
enum IndividualProperties {
- PROPERTIES_TARGET = 1 << 0,
- PROPERTIES_WORKING_DIR = 1 << 1,
- PROPERTIES_ARGUMENTS = 1 << 2,
- PROPERTIES_DESCRIPTION = 1 << 3,
- PROPERTIES_ICON = 1 << 4,
- PROPERTIES_APP_ID = 1 << 5,
- PROPERTIES_DUAL_MODE = 1 << 6,
+ PROPERTIES_TARGET = 1U << 0,
+ PROPERTIES_WORKING_DIR = 1U << 1,
+ PROPERTIES_ARGUMENTS = 1U << 2,
+ PROPERTIES_DESCRIPTION = 1U << 3,
+ PROPERTIES_ICON = 1U << 4,
+ PROPERTIES_APP_ID = 1U << 5,
+ PROPERTIES_DUAL_MODE = 1U << 6,
+ // Be sure to update the values below when adding a new property.
+ PROPERTIES_BASIC = PROPERTIES_TARGET |
+ PROPERTIES_WORKING_DIR |
+ PROPERTIES_ARGUMENTS |
+ PROPERTIES_DESCRIPTION |
+ PROPERTIES_ICON,
+ PROPERTIES_WIN7 = PROPERTIES_APP_ID | PROPERTIES_DUAL_MODE,
+ PROPERTIES_ALL = PROPERTIES_BASIC | PROPERTIES_WIN7
};
ShortcutProperties() : icon_index(-1), dual_mode(false), options(0U) {}
@@ -117,14 +125,25 @@ BASE_EXPORT bool CreateOrUpdateShortcutLink(
const ShortcutProperties& properties,
ShortcutOperation operation);
-// Resolve Windows shortcut (.LNK file)
-// This methods tries to resolve a shortcut .LNK file. The path of the shortcut
-// to resolve is in |shortcut_path|. If |target_path| is not NULL, the target
-// will be resolved and placed in |target_path|. If |args| is not NULL, the
-// arguments will be retrieved and placed in |args|. The function returns true
-// if all requested fields are found successfully.
-// Callers can safely use the same variable for both |shortcut_path| and
-// |target_path|.
+// Resolves Windows shortcut (.LNK file)
+// This methods tries to resolve selected properties of a shortcut .LNK file.
+// The path of the shortcut to resolve is in |shortcut_path|. |options| is a bit
+// field composed of ShortcutProperties::IndividualProperties, to specify which
+// properties to read. It should be non-0. The resulting data are read into
+// |properties|, which must not be NULL. The function returns true if all
+// requested properties are successfully read. Otherwise some reads have failed
+// and intermediate values written to |properties| should be ignored.
+BASE_EXPORT bool ResolveShortcutProperties(const FilePath& shortcut_path,
+ uint32 options,
+ ShortcutProperties* properties);
+
+// Resolves Windows shortcut (.LNK file).
+// This is a wrapper to ResolveShortcutProperties() to handle the common use
+// case of resolving target and arguments. |target_path| and |args| are
+// optional output variables that are ignored if NULL (but at least one must be
+// non-NULL). The function returns true if all requested fields are found
+// successfully. Callers can safely use the same variable for both
+// |shortcut_path| and |target_path|.
BASE_EXPORT bool ResolveShortcut(const FilePath& shortcut_path,
FilePath* target_path,
string16* args);
« no previous file with comments | « no previous file | base/win/shortcut.cc » ('j') | base/win/shortcut.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698