Overview
Download
Documentation
Contact
Sources
API
Core
IOData
directory_listing.h
1
/*
2
** ClanLib SDK
3
** Copyright (c) 1997-2020 The ClanLib Team
4
**
5
** This software is provided 'as-is', without any express or implied
6
** warranty. In no event will the authors be held liable for any damages
7
** arising from the use of this software.
8
**
9
** Permission is granted to anyone to use this software for any purpose,
10
** including commercial applications, and to alter it and redistribute it
11
** freely, subject to the following restrictions:
12
**
13
** 1. The origin of this software must not be misrepresented; you must not
14
** claim that you wrote the original software. If you use this software
15
** in a product, an acknowledgment in the product documentation would be
16
** appreciated but is not required.
17
** 2. Altered source versions must be plainly marked as such, and must not be
18
** misrepresented as being the original software.
19
** 3. This notice may not be removed or altered from any source distribution.
20
**
21
** Note: Some of the libraries ClanLib may link to may have additional
22
** requirements or restrictions.
23
**
24
** File Author(s):
25
**
26
** Harry Storbacka
27
*/
28
29
#pragma once
30
31
#include <memory>
32
33
namespace
clan
34
{
35
36
class
DirectoryListingEntry
;
37
class
FileSystemProvider
;
38
class
DirectoryListing_Impl;
39
41
class
DirectoryListing
42
{
43
public
:
45
DirectoryListing
();
46
48
DirectoryListing
(
FileSystemProvider
*provider,
const
std::string &
path
);
49
50
virtual
~DirectoryListing
();
51
53
bool
is_null
()
const
{
return
!impl; }
54
56
void
throw_if_null
()
const
;
57
59
std::string
get_filename
();
60
62
bool
is_directory
();
63
65
bool
is_hidden
();
66
68
bool
is_writable
();
69
71
bool
is_readable
();
72
74
bool
next
();
75
76
private
:
77
std::shared_ptr<DirectoryListing_Impl> impl;
78
};
79
80
}
clan::DirectoryListingEntry
Virtual File System (VFS) directory listing entry class.
Definition
directory_listing_entry.h:39
clan::DirectoryListing::get_filename
std::string get_filename()
Returns the file name of the current item in the listing.
clan::DirectoryListing::is_null
bool is_null() const
Returns true if this object is invalid.
Definition
directory_listing.h:53
clan::DirectoryListing::is_directory
bool is_directory()
Returns true if item is a directory.
clan::DirectoryListing::DirectoryListing
DirectoryListing()
Constructs a null instance.
clan::DirectoryListing::DirectoryListing
DirectoryListing(FileSystemProvider *provider, const std::string &path)
Constructs a virtual directory listening object.
clan::DirectoryListing::is_readable
bool is_readable()
Returns true if item is readable.
clan::DirectoryListing::is_hidden
bool is_hidden()
Returns true if item is hidden.
clan::DirectoryListing::next
bool next()
Advance to next item in listing.
clan::DirectoryListing::is_writable
bool is_writable()
Returns true if item is writable.
clan::DirectoryListing::throw_if_null
void throw_if_null() const
Throw an exception if this object is invalid.
clan::DirectoryListing::~DirectoryListing
virtual ~DirectoryListing()
clan::FileSystemProvider
Virtual File System (VFS) file source.
Definition
file_system_provider.h:45
clan::StandardProgram::path
@ path
Definition
graphic_context.h:243
clan
Definition
clanapp.h:36