System::IO::DirectoryInfo Class Reference

Inherits System::IO::FileSystemInfo.

Public Member Functions

ASPOSECPP_SHARED_API DirectoryInfo (const String &path)
 
virtual ASPOSECPP_SHARED_API bool get_Exists () override
 
virtual ASPOSECPP_SHARED_API String get_Name () override
 Returns the name of the entity referred to by the path represented by the current object. More...
 
ASPOSECPP_SHARED_API DirectoryInfoPtr get_Parent ()
 
ASPOSECPP_SHARED_API DirectoryInfoPtr get_Root ()
 
ASPOSECPP_SHARED_API void Create ()
 Creates a directory at the path represented by the current object. More...
 
ASPOSECPP_SHARED_API DirectoryInfoPtr CreateSubdirectory (const String &path)
 
virtual ASPOSECPP_SHARED_API void Delete () override
 Removes the directory referred to by the path represented by the current object if the directory is empty. More...
 
ASPOSECPP_SHARED_API void Delete (bool recursive)
 
ASPOSECPP_SHARED_API SharedPtr< IEnumerable< DirectoryInfoPtr > > EnumerateDirectories ()
 
ASPOSECPP_SHARED_API SharedPtr< IEnumerable< DirectoryInfoPtr > > EnumerateDirectories (const String &searchPattern)
 
ASPOSECPP_SHARED_API SharedPtr< IEnumerable< DirectoryInfoPtr > > EnumerateDirectories (const String &searchPattern, SearchOption searchOption)
 
ASPOSECPP_SHARED_API SharedPtr< IEnumerable< FileInfoPtr > > EnumerateFiles ()
 
ASPOSECPP_SHARED_API SharedPtr< IEnumerable< FileInfoPtr > > EnumerateFiles (const String &searchPattern)
 
ASPOSECPP_SHARED_API SharedPtr< IEnumerable< FileInfoPtr > > EnumerateFiles (const String &searchPattern, SearchOption searchOption)
 
ASPOSECPP_SHARED_API SharedPtr< IEnumerable< FileSystemInfoPtr > > EnumerateFileSystemInfos ()
 
ASPOSECPP_SHARED_API SharedPtr< IEnumerable< FileSystemInfoPtr > > EnumerateFileSystemInfos (const String &searchPattern)
 
ASPOSECPP_SHARED_API SharedPtr< IEnumerable< FileSystemInfoPtr > > EnumerateFileSystemInfos (const String &searchPattern, SearchOption searchOption)
 
ASPOSECPP_SHARED_API ArrayPtr< DirectoryInfoPtrGetDirectories ()
 
ASPOSECPP_SHARED_API ArrayPtr< DirectoryInfoPtrGetDirectories (const String &searchPattern)
 
ASPOSECPP_SHARED_API ArrayPtr< DirectoryInfoPtrGetDirectories (const String &searchPattern, SearchOption searchOption)
 
ASPOSECPP_SHARED_API ArrayPtr< FileInfoPtrGetFiles ()
 
ASPOSECPP_SHARED_API ArrayPtr< FileInfoPtrGetFiles (const String &searchPattern)
 
ASPOSECPP_SHARED_API ArrayPtr< FileInfoPtrGetFiles (const String &searchPattern, SearchOption searchOption)
 
ASPOSECPP_SHARED_API ArrayPtr< FileSystemInfoPtrGetFileSystemInfos ()
 
ASPOSECPP_SHARED_API ArrayPtr< FileSystemInfoPtrGetFileSystemInfos (const String &searchPattern)
 
ASPOSECPP_SHARED_API ArrayPtr< FileSystemInfoPtrGetFileSystemInfos (const String &searchPattern, SearchOption searchOption)
 
ASPOSECPP_SHARED_API void MoveTo (const String &destDirName)
 
ASPOSECPP_SHARED_API String ToString () const override
 Returns a string containing the path represented by the current object. More...
 
- Public Member Functions inherited from System::IO::FileSystemInfo
ASPOSECPP_SHARED_API FileAttributes get_Attributes ()
 Returns the attributes of the entity represented by the current object. More...
 
ASPOSECPP_SHARED_API void set_Attributes (FileAttributes value)
 
ASPOSECPP_SHARED_API DateTime get_CreationTime ()
 Returns the creation time of the entity represented by the current object as local time. More...
 
ASPOSECPP_SHARED_API void set_CreationTime (DateTime value)
 
ASPOSECPP_SHARED_API DateTime get_CreationTimeUtc ()
 Returns the creation time of the entity represented by the current object as UTC time. More...
 
ASPOSECPP_SHARED_API void set_CreationTimeUtc (DateTime value)
 
ASPOSECPP_SHARED_API DateTime get_LastAccessTime ()
 Returns the last access time of the entity represented by the current object as local time. More...
 
ASPOSECPP_SHARED_API void set_LastAccessTime (DateTime value)
 
ASPOSECPP_SHARED_API DateTime get_LastAccessTimeUtc ()
 Returns the last access time of the entity represented by the current object as UTC time. More...
 
ASPOSECPP_SHARED_API void set_LastAccessTimeUtc (DateTime value)
 
ASPOSECPP_SHARED_API DateTime get_LastWriteTime ()
 Returns the last write time of the entity represented by the current object as local time. More...
 
ASPOSECPP_SHARED_API void set_LastWriteTime (DateTime value)
 
ASPOSECPP_SHARED_API DateTime get_LastWriteTimeUtc ()
 Returns the last write time of the entity represented by the current object as UTC time. More...
 
ASPOSECPP_SHARED_API void set_LastWriteTimeUtc (DateTime value)
 
ASPOSECPP_SHARED_API String get_Extension ()
 Returns the extension of the file represented by the current object. More...
 
virtual ASPOSECPP_SHARED_API String get_FullName ()
 Returns the full name (including path) of the entity represented by the current object. More...
 
virtual ASPOSECPP_SHARED_API void Finalize ()
 Does nothing. More...
 
ASPOSECPP_SHARED_API void Refresh ()
 Refreshes the state of the current object. More...
 
- Public Member Functions inherited from System::Object
ASPOSECPP_SHARED_API Object ()
 Creates object. Initializes all internal data structures. More...
 
virtual ASPOSECPP_SHARED_API ~Object ()
 Destroys object. Frees all internal data structures. More...
 
ASPOSECPP_SHARED_API Object (Object const &x)
 Copy constructor. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
Objectoperator= (Object const &x)
 Assignment operator. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
ObjectSharedRefAdded ()
 Increments shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int SharedRefRemovedSafe ()
 Decrements and returns shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int RemovedSharedRefs (int count)
 Decreases shared reference count by specified value. More...
 
Detail::SmartPtrCounter * WeakRefAdded ()
 Increments weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
void WeakRefRemoved ()
 Decrements weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
Detail::SmartPtrCounter * GetCounter ()
 Gets reference counter data structure associated with the object. More...
 
int SharedCount () const
 Gets current value of shared reference counter. More...
 
ASPOSECPP_SHARED_API void Lock ()
 Implements C# lock() statement locking. Call directly or use LockContext sentry object. More...
 
ASPOSECPP_SHARED_API void Unlock ()
 Implements C# lock() statement unlocking. Call directly or use LockContext sentry object. More...
 
virtual ASPOSECPP_SHARED_API bool Equals (ptr obj)
 Compares objects using C# Object.Equals semantics. More...
 
virtual ASPOSECPP_SHARED_API int32_t GetHashCode () const
 Analog of C# Object.GetHashCode() method. Enables hashing of custom objects. More...
 
virtual ASPOSECPP_SHARED_API ptr MemberwiseClone () const
 Analog of C# Object.MemberwiseClone() method. Enables cloning custom types. More...
 
virtual ASPOSECPP_SHARED_API const TypeInfoGetType () const
 Gets actual type of object. Analog of C# System.Object.GetType() call. More...
 
virtual ASPOSECPP_SHARED_API bool Is (const TypeInfo &targetType) const
 Check if object represents an instance of type described by targetType. Analog of C# 'is' operator. More...
 
virtual ASPOSECPP_SHARED_API void SetTemplateWeakPtr (uint32_t argument)
 Set n'th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode. More...
 
virtual ASPOSECPP_SHARED_API bool FastCast (const Details::FastRttiBase &helper, void **out_ptr) const
 For internal purposes only. More...
 
template<>
bool Equals (float const &objA, float const &objB)
 
template<>
bool Equals (double const &objA, double const &objB)
 
template<>
bool ReferenceEquals (String const &str, std::nullptr_t)
 
template<>
bool ReferenceEquals (String const &str1, String const &str2)
 

Additional Inherited Members

- Public Types inherited from System::Object
typedef SmartPtr< Objectptr
 Alias for smart pointer type. More...
 
- Static Public Member Functions inherited from System::Object
static bool ReferenceEquals (ptr const &objA, ptr const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, T const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, std::nullptr_t)
 Reference-compares value type object with nullptr. More...
 
template<typename T1 , typename T2 >
static std::enable_if< IsSmartPtr< T1 >::value &&IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares reference type objects in C# style. More...
 
template<typename T1 , typename T2 >
static std::enable_if<!IsSmartPtr< T1 >::value &&!IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares value type objects in C# style. More...
 
static const TypeInfoType ()
 Implements C# typeof(System.Object) construct. More...
 

Detailed Description

Represents a file system path, a directory referred to by this path and provides instance methods for manipulating directories. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.

Constructor & Destructor Documentation

◆ DirectoryInfo()

ASPOSECPP_SHARED_API System::IO::DirectoryInfo::DirectoryInfo ( const String path)

Constructs an instnace of DirectoryInfo class on the specified path.

Parameters
pathA path on which to create an instance; the path does not have to refer to existing entity

Member Function Documentation

◆ Create()

ASPOSECPP_SHARED_API void System::IO::DirectoryInfo::Create ( )

Creates a directory at the path represented by the current object.

◆ CreateSubdirectory()

ASPOSECPP_SHARED_API DirectoryInfoPtr System::IO::DirectoryInfo::CreateSubdirectory ( const String path)

Creates subdirectories on the specified path.

Parameters
pathThe specified path
Returns
The last directory specified in path.

◆ Delete() [1/2]

virtual ASPOSECPP_SHARED_API void System::IO::DirectoryInfo::Delete ( )
overridevirtual

Removes the directory referred to by the path represented by the current object if the directory is empty.

Implements System::IO::FileSystemInfo.

◆ Delete() [2/2]

ASPOSECPP_SHARED_API void System::IO::DirectoryInfo::Delete ( bool  recursive)

Removes the directory referred to by the path represented by the current object. A parameter specifies if the content of the directory should be recursively removed if the directory is not empty.

Parameters
recursiveSpecifies if the content of the directory should be recursively removed if it is not empty

◆ EnumerateDirectories() [1/3]

ASPOSECPP_SHARED_API SharedPtr<IEnumerable<DirectoryInfoPtr> > System::IO::DirectoryInfo::EnumerateDirectories ( )

Returns enumerable collection containing all directories located in the directory represented by the current object.

◆ EnumerateDirectories() [2/3]

ASPOSECPP_SHARED_API SharedPtr<IEnumerable<DirectoryInfoPtr> > System::IO::DirectoryInfo::EnumerateDirectories ( const String searchPattern)

Searches for the directories that satisfy the specified search criteria in the directory represented by the current object.

Parameters
searchPatternThe name pattern of the directories to search for
Returns
The enumerable collection of shared pointers to DirectoryInfo objects representing the found directories whose names match searchPattern

◆ EnumerateDirectories() [3/3]

ASPOSECPP_SHARED_API SharedPtr<IEnumerable<DirectoryInfoPtr> > System::IO::DirectoryInfo::EnumerateDirectories ( const String searchPattern,
SearchOption  searchOption 
)

Searches for the directories that satisfy the specified search criteria either in the directory represented by the current object or in the whole directory tree rooted in the directory represented by the current object.

Parameters
searchPatternThe name pattern of the directories to search for
searchOptionSpecifies whether the search has to be performed in the directory represented by the current object only or in the whole directory tree rooted in the directory represented by the current object
Returns
The enumerable collection of shared pointers to DirectoryInfo objects representing the found directories whose names match searchPattern

◆ EnumerateFiles() [1/3]

ASPOSECPP_SHARED_API SharedPtr<IEnumerable<FileInfoPtr> > System::IO::DirectoryInfo::EnumerateFiles ( )

Returns enumerable collection containing all files located in the directory represented by the current object.

◆ EnumerateFiles() [2/3]

ASPOSECPP_SHARED_API SharedPtr<IEnumerable<FileInfoPtr> > System::IO::DirectoryInfo::EnumerateFiles ( const String searchPattern)

Searches for the files that satisfy the specified search criteria in the directory represented by the current object.

Parameters
searchPatternThe name pattern of the files to search for
Returns
The enumerable collection of shared pointers to FileInfo objects representing the found files whose names match searchPattern

◆ EnumerateFiles() [3/3]

ASPOSECPP_SHARED_API SharedPtr<IEnumerable<FileInfoPtr> > System::IO::DirectoryInfo::EnumerateFiles ( const String searchPattern,
SearchOption  searchOption 
)

Searches for the files that satisfy the specified search criteria either in the directory represented by the current object or in the whole directory tree rooted in the directory represented by the current object.

Parameters
searchPatternThe name pattern of the files to search for
searchOptionSpecifies whether the search has to be performed in the directory represented by the current object only or in the whole directory tree rooted in the directory represented by the current object
Returns
The enumerable collection of shared pointers to FileInfo objects representing the found files whose names match searchPattern

◆ EnumerateFileSystemInfos() [1/3]

ASPOSECPP_SHARED_API SharedPtr<IEnumerable<FileSystemInfoPtr> > System::IO::DirectoryInfo::EnumerateFileSystemInfos ( )

Returns enumerable collection containing all files and directories located in the directory represented by the current object.

◆ EnumerateFileSystemInfos() [2/3]

ASPOSECPP_SHARED_API SharedPtr<IEnumerable<FileSystemInfoPtr> > System::IO::DirectoryInfo::EnumerateFileSystemInfos ( const String searchPattern)

Searches for the files and directories that satisfy the specified search criteria in the directory represented by the current object.

Parameters
searchPatternThe name pattern of the files and directories to search for
Returns
The enumerable collection of shared pointers to FileSystemInfo objects representing the found files and directories whose names match searchPattern

◆ EnumerateFileSystemInfos() [3/3]

ASPOSECPP_SHARED_API SharedPtr<IEnumerable<FileSystemInfoPtr> > System::IO::DirectoryInfo::EnumerateFileSystemInfos ( const String searchPattern,
SearchOption  searchOption 
)

Searches for the files and directories that satisfy the specified search criteria either in the directory represented by the current object or in the whole directory tree rooted in the directory represented by the current object.

Parameters
searchPatternThe name pattern of the files and directories to search for
searchOptionSpecifies whether the search has to be performed in the directory represented by the current object only or in the whole directory tree rooted in the directory represented by the current object
Returns
The enumerable collection of shared pointers to FileSystemInfo objects representing the found files and directories whose names match searchPattern

◆ get_Exists()

virtual ASPOSECPP_SHARED_API bool System::IO::DirectoryInfo::get_Exists ( )
overridevirtual

Determines if the path represented by the current object refers to existing directory.

Returns
True if the path refers to existing directory, otherwise - false

Implements System::IO::FileSystemInfo.

◆ get_Name()

virtual ASPOSECPP_SHARED_API String System::IO::DirectoryInfo::get_Name ( )
overridevirtual

Returns the name of the entity referred to by the path represented by the current object.

Implements System::IO::FileSystemInfo.

◆ get_Parent()

ASPOSECPP_SHARED_API DirectoryInfoPtr System::IO::DirectoryInfo::get_Parent ( )

Returns a shared pointer to DirectoryInfo object that represents a path referring the parent directory of the directory represented by the current object.

◆ get_Root()

ASPOSECPP_SHARED_API DirectoryInfoPtr System::IO::DirectoryInfo::get_Root ( )

Returns a shared pointer to DirectoryInfo object that represents a path referring the root directory of the directory represented by the current object.

◆ GetDirectories() [1/3]

ASPOSECPP_SHARED_API ArrayPtr<DirectoryInfoPtr> System::IO::DirectoryInfo::GetDirectories ( )

Returns an array containing shared pointers to DirectoryInfo objects representing all directories located in the directory represented by the current object.

◆ GetDirectories() [2/3]

ASPOSECPP_SHARED_API ArrayPtr<DirectoryInfoPtr> System::IO::DirectoryInfo::GetDirectories ( const String searchPattern)

Searches for the directories that satisfy the specified search criteria in the directory represented by the current object.

Parameters
searchPatternThe name pattern of the directories to search for
Returns
An array of shared pointers to DirectoryInfo objects representing the found directories whose names match searchPattern

◆ GetDirectories() [3/3]

ASPOSECPP_SHARED_API ArrayPtr<DirectoryInfoPtr> System::IO::DirectoryInfo::GetDirectories ( const String searchPattern,
SearchOption  searchOption 
)

Searches for the directories that satisfy the specified search criteria either in the directory represented by the current object or in the whole directory tree rooted in the directory represented by the current object.

Parameters
searchPatternThe name pattern of the directories to search for
searchOptionSpecifies whether the search has to be performed in the directory represented by the current object only or in the whole directory tree rooted in the directory represented by the current object
Returns
An array of shared pointers to DirectoryInfo objects representing the found directories whose names match searchPattern

◆ GetFiles() [1/3]

ASPOSECPP_SHARED_API ArrayPtr<FileInfoPtr> System::IO::DirectoryInfo::GetFiles ( )

Returns an array containing shared pointers to FileInfo objects representing all directories located in the directory represented by the current object.

◆ GetFiles() [2/3]

ASPOSECPP_SHARED_API ArrayPtr<FileInfoPtr> System::IO::DirectoryInfo::GetFiles ( const String searchPattern)

Searches for the files that satisfy the specified search criteria in the directory represented by the current object.

Parameters
searchPatternThe name pattern of the files to search for
Returns
An array of shared pointers to FileInfo objects representing the found files whose names match searchPattern

◆ GetFiles() [3/3]

ASPOSECPP_SHARED_API ArrayPtr<FileInfoPtr> System::IO::DirectoryInfo::GetFiles ( const String searchPattern,
SearchOption  searchOption 
)

Searches for the files that satisfy the specified search criteria either in the directory represented by the current object or in the whole directory tree rooted in the directory represented by the current object.

Parameters
searchPatternThe name pattern of the files to search for
searchOptionSpecifies whether the search has to be performed in the directory represented by the current object only or in the whole directory tree rooted in the directory represented by the current object
Returns
An array of shared pointers to FileInfo objects representing the found files whose names match searchPattern

◆ GetFileSystemInfos() [1/3]

ASPOSECPP_SHARED_API ArrayPtr<FileSystemInfoPtr> System::IO::DirectoryInfo::GetFileSystemInfos ( )

Returns an array containing shared pointers to FileSystemInfo objects representing all files and directories located in the directory represented by the current object.

◆ GetFileSystemInfos() [2/3]

ASPOSECPP_SHARED_API ArrayPtr<FileSystemInfoPtr> System::IO::DirectoryInfo::GetFileSystemInfos ( const String searchPattern)

Searches for the files and directories that satisfy the specified search criteria in the directory represented by the current object.

Parameters
searchPatternThe name pattern of the files and directories to search for
Returns
An array of shared pointers to FileSystemInfo objects representing the found files and directories whose names match searchPattern

◆ GetFileSystemInfos() [3/3]

ASPOSECPP_SHARED_API ArrayPtr<FileSystemInfoPtr> System::IO::DirectoryInfo::GetFileSystemInfos ( const String searchPattern,
SearchOption  searchOption 
)

Searches for the files and directories that satisfy the specified search criteria either in the directory represented by the current object or in the whole directory tree rooted in the directory represented by the current object.

Parameters
searchPatternThe name pattern of the files and directories to search for
searchOptionSpecifies whether the search has to be performed in the directory represented by the current object only or in the whole directory tree rooted in the directory represented by the current object
Returns
An array of shared pointers to FileSystemInfo objects representing the found files and directories whose names match searchPattern

◆ MoveTo()

ASPOSECPP_SHARED_API void System::IO::DirectoryInfo::MoveTo ( const String destDirName)

Moves the directory represented by the current object and all its contentto the specified location.

Parameters
destDirNameThe new location

◆ ToString()

ASPOSECPP_SHARED_API String System::IO::DirectoryInfo::ToString ( ) const
overridevirtual

Returns a string containing the path represented by the current object.

Reimplemented from System::Object.