#pragma once
#ifndef INTEROP_NEGOTIATOR_H_
#define INTEROP_NEGOTIATOR_H_

#define CONTROL_FRAME_H void*

#ifdef __cplusplus
extern "C" {
#endif
	typedef void(*ReportProgressCallback)(CONTROL_FRAME_H, float);
	typedef void(*FinishedCallback)(CONTROL_FRAME_H);
	typedef void(*MessageCallback)(CONTROL_FRAME_H, const char* str);

	struct InteropNegotiator {
		ReportProgressCallback report_progress;
		FinishedCallback finished;
		MessageCallback message;
		CONTROL_FRAME_H control_frame_handle;
	};

#ifdef __cplusplus
}
#endif


#endif