FX::FXWinJunctionPoint Struct Reference

#include <FXWinLinks.h>

List of all members.


Detailed Description

A POSIX-compatible Windows NTFS junction point.

Since NTFS 5, Windows lets you mount any directory tree under a special NTFS-only entity called a junction point. This is basically a magic directory which tells the NT kernel to indirect to some other specified path - much like a symbolic link, except that it can only link from a directory to another directory.

As it happens, most POSIX implementations have just the same ability via a variation of the mount command which allows you to bind a directory tree to appear at some other directory location. Unfortunately, this is a root only operation so FXWinJunctionPoint simply emulates the Windows functionality using a normal symbolic link.

Warning:
The Windows Shell (Explorer) does NOT support NTFS junction points - it thinks they are normal directories and if you delete them via the recycle bin, Explorer happily deletes everything your junction point pointed to when the Recycle Bin is emptied which usually wasn't what you wanted! You can Shift-Delete (delete immediately) to delete just the junction point alone.
Because of this caveat, this implementation marks junction points as compressed so that their name appears in blue in Explorer to remind you that the junction point isn't a normal directory. Inform your users if you intend to use them in your code.

Static Public Member Functions

static bool test (const FXString &path)
static FXString read (const FXString &path)
static void write (const FXString &path, const QFileInfo &whereTo)
static void remove (const FXString &path)

Member Function Documentation

static bool FX::FXWinJunctionPoint::test ( const FXString path  )  [static]

Returns true if the specified path is a NTFS junction point.

static FXString FX::FXWinJunctionPoint::read ( const FXString path  )  [static]

Reads what a NTFS junction point points to.

static void FX::FXWinJunctionPoint::write ( const FXString path,
const QFileInfo whereTo 
) [static]

Writes a NTFS junction point.

static void FX::FXWinJunctionPoint::remove ( const FXString path  )  [static]

Deletes a NTFS junction point.


The documentation for this struct was generated from the following file:

(C) 2002-2008 Niall Douglas. Some parts (C) to assorted authors.
Generated on Fri Jun 13 22:26:23 2008 for TnFOX by doxygen v1.5.6