#pragma once

#include <windows.h>

#include "LiftoffInterstitialAds.h"

/// <summary>
/// Routines for loading and playing "Mediation" (a.k.a. "header bidding") ads.
/// Publisher's getting started with Liftoff Ads should probably start
/// instead with "Interstital" ads which you can find in LiftoffInterstitialAds.h/.cpp
/// </summary>

extern const wchar_t* g_HB_RtbEndpointUrls[5];
extern const wchar_t* g_HB_AdmExampleText;
extern const wchar_t* g_HB_RealtimeTokenExampleText;

// Step 1: Get a super token from the SDK
extern void HandleGetSuperTokenButton(HWND hWnd);

// Step 2: Get an ad markup ("adm") by sending the supertoken to your ad server
extern void HandleGetAdmButton(HWND hWnd);

// Step 3: Get the "winning adm" by parsing the "adm" received from HandleGetAdmButton
extern void HandleGetWinningAdm(HWND hWnd);

// Step 4: Load the ad using the winning adm obtained from HandleGetWinningAdm
extern void HandleLoadAdFromAdm(HWND hWnd);
// Step 5: Play the ad using the winning adm obtained from HandleGetWinningAdm
extern void HandlePlayAdFromAdm(HWND hWnd);
extern void HandlePlayAdFromAdmInNewWindow(HWND hWnd);

// The routines below are optional, for debugging purposes only
extern void HandleDecodeSuperToken(HWND hWnd);
extern void HandleDecodeAdmButton(HWND hWnd);
extern void HandleEncodeAdmButton(HWND hWnd);
extern void HandleEncodeTokenButton(HWND hWnd);


// Utility functions
extern void GetSelectedRtbEndpoint();
extern void SetAdmExampleText();
extern void SetRealtimeTokenExampleText();
extern void ClearRealtimeReport();
extern void CopyRealtimeReportToClipboard();




