Plasma Engine  2.0
Loading...
Searching...
No Matches
ClientContext.h
1#pragma once
2
3#include <FileservePlugin/FileservePluginDLL.h>
4#include <Foundation/Containers/HybridArray.h>
5#include <Foundation/Strings/String.h>
6
7enum class plFileserveFileState
8{
9 None = 0,
10 NonExistant = 1,
11 NonExistantEither = 2,
12 SameTimestamp = 3,
13 SameHash = 4,
14 Different = 5,
15};
16
17class PL_FILESERVEPLUGIN_DLL plFileserveClientContext
18{
19public:
20 struct DataDir
21 {
22 plString m_sRootName;
23 plString m_sPathOnClient;
24 plString m_sPathOnServer;
25 plString m_sMountPoint;
26 bool m_bMounted = false;
27 };
28
30 {
31 plInt64 m_iTimestamp = -1;
32 plUInt64 m_uiHash = 0;
33 plUInt64 m_uiFileSize = 0;
34 };
35
36 plFileserveFileState GetFileStatus(plUInt16& inout_uiDataDirID, const char* szRequestedFile, FileStatus& inout_status,
37 plDynamicArray<plUInt8>& out_fileContent, bool bForceThisDataDir) const;
38
39 bool m_bLostConnection = false;
40 plUInt32 m_uiApplicationID = 0;
41 plHybridArray<DataDir, 8> m_MountedDataDirs;
42};
Definition DynamicArray.h:81
Definition ClientContext.h:18
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition HybridArray.h:12
Definition ClientContext.h:21
Definition ClientContext.h:30