I have a wxFilenName mydir that should point to a writeable directory. Ultimately, mydir has been obtained via mydir=otherfilename.GetPath() (though via some disgressions maybe). Assuming that mydirrefers to (on a Windows box) C:\foo\bar, I need to ensure that C:\foo\barexists and is a directory (not a file) and I have write permissions (so I might create C:\foo\bar\baz).
What I do is to check mydir.IsOk() && mydir.DirExists() && mydir.IsDirWriteable(), but I suspect this does not do what I want. From reading the wxwidgets docs, I gather that it does distinguish between a wxFileName referencing C:\foo\barin the sense of “the file/dir bar in the directory C:\foo” versus C:\foo\bar in the sense of “the directoy C:\foo\bar and no particular file in it”) so that I’d expect my method to work as GetPath()should return such a “pure” directory. However, I suspect (and testing indicates) that my checks really check if C:\foo is a writeable directory …
What would be a better method (within the wxWidgets framework)? Do I really need to append some dummy filename before performing my checks?
Use wxFileName::DirName() to create an object representing a directory.