JD2022-TU1/main/extern/Soundwich/Solution/Engine/Src/Tracking/ITracker.h

28 lines
929 B
C++

#pragma once
#include "Inc/Engine.h"
#include "Util/String.h"
namespace Soundwich
{
class ITracker
{
public:
virtual ~ITracker() {};
//Start or stop tracking from UAF editor
virtual void Switch(bool enable, const char* exportFilePath) = 0;
//Bufferize connections and component involved in an activation
virtual bool StartActivation() = 0;
virtual void AddTrackConnection(const char* dataType, const Util::String& compOut, const Util::String& compIn, int portOut, int portIn, const char* value) = 0;
virtual void AddTrackComponent(const Util::String& name, const Util::String& type) = 0;
virtual void CloseActivation() = 0;
//Return info to Engine
virtual void RegisterCallback(ISoundwichTracking* cb) = 0;
virtual void UnregisterCallback(ISoundwichTracking* cb) = 0;
virtual void ExecuteCallbacks() = 0;
};
}