DDNet documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
filecollection.h
Go to the documentation of this file.
1
/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
2
/* If you are missing that file, acquire a complete release at teeworlds.com. */
3
#ifndef ENGINE_SHARED_FILECOLLECTION_H
4
#define ENGINE_SHARED_FILECOLLECTION_H
5
6
#include <
base/str.h
>
7
#include <
base/types.h
>
8
9
#include <cstdint>
10
#include <vector>
11
12
class
IStorage
;
13
14
class
CFileCollection
15
{
16
enum
17
{
18
TIMESTAMP_LENGTH
= 20,
// _YYYY-MM-DD_HH-MM-SS
19
};
20
21
struct
CFileEntry
22
{
23
time_t
m_Timestamp
;
24
char
m_aFilename
[
IO_MAX_PATH_LENGTH
];
25
CFileEntry
(int64_t Timestamp,
const
char
*pFilename)
26
{
27
m_Timestamp
= Timestamp;
28
str_copy
(
m_aFilename
, pFilename);
29
}
30
};
31
32
std::vector<CFileEntry>
m_vFileEntries
;
33
char
m_aFileDesc
[128];
34
int
m_FileDescLength
;
35
char
m_aFileExt
[32];
36
int
m_FileExtLength
;
37
char
m_aPath
[
IO_MAX_PATH_LENGTH
];
38
IStorage
*
m_pStorage
;
39
40
bool
ExtractTimestamp
(
const
char
*pTimestring, time_t *pTimestamp);
41
bool
ParseFilename
(
const
char
*pFilename, time_t *pTimestamp);
42
43
public
:
44
void
Init
(
IStorage
*pStorage,
const
char
*pPath,
const
char
*pFileDesc,
const
char
*pFileExt,
int
MaxEntries);
45
46
static
int
FilelistCallback
(
const
char
*pFilename,
int
IsDir,
int
StorageType,
void
*pUser);
47
};
48
49
#endif
CFileCollection
Definition
filecollection.h:15
CFileCollection::TIMESTAMP_LENGTH
@ TIMESTAMP_LENGTH
Definition
filecollection.h:18
CFileCollection::m_aPath
char m_aPath[IO_MAX_PATH_LENGTH]
Definition
filecollection.h:37
CFileCollection::m_vFileEntries
std::vector< CFileEntry > m_vFileEntries
Definition
filecollection.h:32
CFileCollection::ParseFilename
bool ParseFilename(const char *pFilename, time_t *pTimestamp)
Definition
filecollection.cpp:58
CFileCollection::ExtractTimestamp
bool ExtractTimestamp(const char *pTimestring, time_t *pTimestamp)
Definition
filecollection.cpp:50
CFileCollection::Init
void Init(IStorage *pStorage, const char *pPath, const char *pFileDesc, const char *pFileExt, int MaxEntries)
Definition
filecollection.cpp:14
CFileCollection::m_pStorage
IStorage * m_pStorage
Definition
filecollection.h:38
CFileCollection::FilelistCallback
static int FilelistCallback(const char *pFilename, int IsDir, int StorageType, void *pUser)
Definition
filecollection.cpp:92
CFileCollection::m_aFileExt
char m_aFileExt[32]
Definition
filecollection.h:35
CFileCollection::m_FileExtLength
int m_FileExtLength
Definition
filecollection.h:36
CFileCollection::m_aFileDesc
char m_aFileDesc[128]
Definition
filecollection.h:33
CFileCollection::m_FileDescLength
int m_FileDescLength
Definition
filecollection.h:34
IStorage
Definition
storage.h:21
IO_MAX_PATH_LENGTH
constexpr auto IO_MAX_PATH_LENGTH
Definition
types.h:26
str_copy
int str_copy(char *dst, const char *src, int dst_size)
Definition
str.cpp:18
str.h
CFileCollection::CFileEntry::m_aFilename
char m_aFilename[IO_MAX_PATH_LENGTH]
Definition
filecollection.h:24
CFileCollection::CFileEntry::CFileEntry
CFileEntry(int64_t Timestamp, const char *pFilename)
Definition
filecollection.h:25
CFileCollection::CFileEntry::m_Timestamp
time_t m_Timestamp
Definition
filecollection.h:23
types.h
src
engine
shared
filecollection.h
Generated by
1.18.0