*/
/*!
+ \internal
+*/
+QDir::QDir(QDirPrivate &p) : d_ptr(&p)
+{
+}
+
+/*!
Constructs a QDir pointing to the given directory \a path. If path
is empty the program's working directory, ("."), is used.
d->clearFileLists();
}
+/*! \internal
+*/
+QDirPrivate* QDir::d_func()
+{
+ return d_ptr.data();
+}
+
/*!
\internal
class Q_CORE_EXPORT QDir
{
-protected:
- QSharedDataPointer<QDirPrivate> d_ptr;
-
public:
enum Filter { Dirs = 0x001,
Files = 0x002,
Reversed = 0x08,
IgnoreCase = 0x10,
DirsLast = 0x20,
- LocaleAware = 0x40,
+ LocaleAware = 0x40,
Type = 0x80,
NoSort = -1
};
static QString cleanPath(const QString &path);
void refresh() const;
+
+protected:
+ explicit QDir(QDirPrivate &d);
+
+ QSharedDataPointer<QDirPrivate> d_ptr;
+
+private:
+ // Q_DECLARE_PRIVATE equivalent for shared data pointers
+ QDirPrivate* d_func();
+ inline const QDirPrivate* d_func() const
+ {
+ return d_ptr.constData();
+ }
+
};
Q_DECLARE_OPERATORS_FOR_FLAGS(QDir::Filters)
}
/*! \internal
- Detaches all internal data.
*/
-void QFileInfo::detach()
+QFileInfoPrivate* QFileInfo::d_func()
{
- d_ptr.detach();
+ return d_ptr.data();
}
/*!
QDateTime lastModified() const;
QDateTime lastRead() const;
- void detach();
-
bool caching() const;
void setCaching(bool on);
protected:
QSharedDataPointer<QFileInfoPrivate> d_ptr;
-private:
- inline QFileInfoPrivate* d_func()
- {
- detach();
- return const_cast<QFileInfoPrivate *>(d_ptr.constData());
- }
+private:
+ QFileInfoPrivate* d_func();
inline const QFileInfoPrivate* d_func() const
{
return d_ptr.constData();
QVERIFY(info1.makeAbsolute());
QVERIFY(!info1.caching());
-
- info1.detach();
- QVERIFY(!info1.caching());
}
#if !defined(Q_OS_WINCE)