Boost logo

Boost :

Subject: Re: [boost] [filesystem] home_directory_path
From: Alexander Churanov (alexanderchuranov_at_[hidden])
Date: 2010-10-20 08:09:36


Jeff and others,

As a user of both Windows and UNIX (FreeBSD), I think that the
discussion is overcomplicated. There several things an application
needs to know about the directories:

1) Where to put/find user-specific configuration-data.
2) Where to find system-wide configuration-data.
3) Where to put user-specific caches.
4) Where to find user-generated content.

For UNIX these locations correspond to:

1) .dot files (directories) under ${HOME}
2) /etc, /usr/local/etc
3) .dot files (directories) under ${HOME}
4) ${HOME}

For Windows they are:

1) Application Data\Company Name\Product Name in user profile (CSIDL_APPDATA)
2) Application Data\Company Name\Product Name in "all users" profile
(CSIDL_COMMON_APPDATA)
3) Application Data\Company Name\Product Name in user profile (CSIDL_APPDATA)
4) "My Documents" or "Desktop" folder (CSIDL_PERSONAL)

Essentially, the exact locations on Windows should be obtained via
Shell API. If this approach is used, it is only necessary to support
old and specific versions of Windows.

Note, UNIX users typically store their files under ${HOME}, it is OK
to consider ${HOME} as an equivalent of "My Documents", though they
are not the same.

Alexander Churanov


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk