#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; }; }