63 lines
1.4 KiB
C++
63 lines
1.4 KiB
C++
/*++
|
|
|
|
Microsoft Windows
|
|
Copyright (C) Microsoft Corporation, 1981 - 2000
|
|
|
|
Module Name:
|
|
|
|
path.hxx
|
|
|
|
Abstract:
|
|
see the comments at the top of path.cxx
|
|
|
|
|
|
Author:
|
|
|
|
Rahul Thombre (RahulTh) 3/3/2000
|
|
|
|
Revision History:
|
|
|
|
3/3/2000 RahulTh Created this module.
|
|
|
|
--*/
|
|
|
|
#ifndef __PATH_HXX_7DD8A927_AB28_4054_BADB_53F9ED0E4A40__
|
|
#define __PATH_HXX_7DD8A927_AB28_4054_BADB_53F9ED0E4A40__
|
|
|
|
#define HOMEDIR_STR L"\\\\%HOMESHARE%%HOMEPATH%"
|
|
#define PROFILE_STR L"%USERPROFILE%"
|
|
#define USERNAME_STR L"%USERNAME%"
|
|
|
|
class CRedirPath
|
|
{
|
|
public:
|
|
CRedirPath(UINT cookie);
|
|
BOOL GeneratePath (CString & szPath, const CString & szUser = USERNAME_STR) const;
|
|
BOOL Load (LPCTSTR pwszPath);
|
|
BOOL Load (UINT type, LPCTSTR pwszPrefix, LPCTSTR pwszSuffix);
|
|
void GetPrefix (CString & szPrefix) const;
|
|
void GenerateSuffix (CString & szSuffix, UINT cookie, UINT pathType) const;
|
|
UINT GetType (void) const;
|
|
BOOL IsPathValid (void) const;
|
|
BOOL IsPathDifferent (UINT type, LPCTSTR pwszPrefix) const;
|
|
|
|
// Private data members
|
|
private:
|
|
BOOL _bDataValid;
|
|
UINT _type;
|
|
CString _szPrefix;
|
|
CString _szSuffix;
|
|
UINT _cookie;
|
|
|
|
// Private helper functions
|
|
private:
|
|
BOOL LoadHomedir (LPCTSTR pwszPath);
|
|
BOOL LoadPerUser (LPCTSTR pwszPath);
|
|
BOOL LoadUserprofile (LPCTSTR pwszPath);
|
|
BOOL LoadSpecific (LPCTSTR pwszPath);
|
|
};
|
|
|
|
#endif // __PATH_HXX_7DD8A927_AB28_4054_BADB_53F9ED0E4A40__
|
|
|
|
|