#pragma once
#ifndef DUBBING_GLOBAL_H
#define DUBBING_GLOBAL_H
#ifdef _MSC_VER

#define DUBBING_DECL_EXPORT __declspec(dllexport)
#define DUBBING_DECL_IMPORT __declspec(dllimport)

#ifdef _DUBBING_STATIC_
#define DUBBING_CLIENT_EXPORT DUBBING_DECL_IMPORT
#else
#define DUBBING_CLIENT_EXPORT DUBBING_DECL_EXPORT
#endif

#define DUBBING_EXTERN_C extern "C"
#define DUBBING_EXPORTS DUBBING_DECL_EXPORT
#define DUBBING_CDECL __cdecl
#define DUBBINGAPI(rettype) DUBBING_EXTERN_C DUBBING_EXPORTS rettype DUBBING_CDECL

typedef int (DUBBING_CDECL* DubbingCallbackDelegate)(void*);

#else

#ifdef _DUBBING_STATIC_
#define DUBBING_CLIENT_EXPORT
#else
#define DUBBING_CLIENT_EXPORT __attribute__((visibility("default")))
#endif

#endif

#endif
