class Poco::FileImpl

#include <File_UNIX.h>

class FileImpl
{
protected:
    // typedefs

    typedef UInt64 FileSizeImpl;

    // construction

    FileImpl();
    FileImpl(const std::string& path);

    // methods

    const std::string&
    getPathImpl() const;

    void
    setPath(const std::string& path);

    void
    swapImpl(FileImpl& file);

    void
    setPathImpl(const std::string& path);

    const std::string&
    getPathImpl() const;

    bool
    existsImpl() const;

    bool
    canReadImpl() const;

    bool
    canWriteImpl() const;

    bool
    canExecuteImpl() const;

    bool
    isFileImpl() const;

    bool
    isDirectoryImpl() const;

    bool
    isLinkImpl() const;

    bool
    isDeviceImpl() const;

    bool
    isHiddenImpl() const;

    Timestamp
    createdImpl() const;

    Timestamp
    getLastModifiedImpl() const;

    void
    setLastModifiedImpl(const Timestamp& ts);

    FileSizeImpl
    getSizeImpl() const;

    void
    setSizeImpl(FileSizeImpl size);

    void
    setWriteableImpl(bool flag = true);

    void
    setExecutableImpl(bool flag = true);

    void
    copyToImpl(const std::string& path) const;

    void
    renameToImpl(const std::string& path);

    void
    removeImpl();

    bool
    createFileImpl();

    bool
    createDirectoryImpl();

    static
    void
    handleLastError(const std::string& path);

    static
    void
    handleLastErrorImpl(const std::string& path);

    static
    void
    convertPath(
        const std::string& utf8Path,
        std::wstring& utf16Path
        );
};

// direct descendants

class File;