mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-05-03 09:20:26 -05:00
Work on asset synchronization
This commit is contained in:
@@ -45,10 +45,19 @@ namespace openspace {
|
||||
|
||||
class AssetSynchronizer : public ResourceSyncClient {
|
||||
public:
|
||||
enum class SynchronizationState : int {
|
||||
Unknown,
|
||||
Added,
|
||||
Synchronizing,
|
||||
Synchronized
|
||||
};
|
||||
|
||||
AssetSynchronizer(ResourceSynchronizer* resourceSynchronizer);
|
||||
void addAsset(std::shared_ptr<Asset> asset);
|
||||
void removeAsset(Asset* asset);
|
||||
void syncAsset(Asset* asset);
|
||||
SynchronizationState assetState(Asset* asset);
|
||||
float assetProgress(Asset* asset);
|
||||
void syncUnsynced();
|
||||
|
||||
std::vector<std::shared_ptr<Asset>> getSynchronizedAssets();
|
||||
@@ -56,11 +65,7 @@ public:
|
||||
private:
|
||||
bool assetIsSynchronized(Asset* asset);
|
||||
|
||||
enum class SynchronizationState : int {
|
||||
Added,
|
||||
Synchronizing,
|
||||
Synchronized
|
||||
};
|
||||
|
||||
|
||||
struct AssetSynchronization {
|
||||
std::shared_ptr<Asset> asset;
|
||||
|
||||
@@ -61,13 +61,16 @@ public:
|
||||
|
||||
ResourceSynchronization();
|
||||
virtual ~ResourceSynchronization();
|
||||
virtual void synchronize() = 0;
|
||||
virtual std::string directory() = 0;
|
||||
virtual void synchronize() = 0;
|
||||
virtual float nSynchronizedBytes() = 0;
|
||||
virtual float nTotalBytes() = 0;
|
||||
virtual bool nTotalBytesIsKnown() = 0;
|
||||
virtual float progress();
|
||||
|
||||
void wait();
|
||||
bool isResolved();
|
||||
void resolve();
|
||||
float progress();
|
||||
void updateProgress(float t);
|
||||
std::shared_ptr<SynchronizationJob> job();
|
||||
|
||||
@@ -75,7 +78,6 @@ private:
|
||||
std::shared_ptr<SynchronizationJob> _job;
|
||||
std::atomic<bool> _started;
|
||||
std::atomic<bool> _resolved;
|
||||
std::atomic<float> _progress;
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user