// DWBS ------------------------------------------------------------------ DWBS
//
// PLATFORM		: ALL
// PRODUCT		: BIT_DEMON
// VISIBILITY	: PUBLIC
//
// DWBS ------------------------------------------------------------------ DWBS


#ifndef BD_AD_UNIT_H
#define BD_AD_UNIT_H

#include <bdCore/bdCore.h>
#include <bdLobby/bdLobbyCommon/bdQueryResult.h>
#include <bdLobby/bdTitleUtilities/bdTitleUtilities.h>

/// This class represents an advertisement unit for in-game
/// marketing. 
class bdAdUnit : public bdQueryResult
{
	public:

		BD_DECLARE_NEW_AND_DELETE_OPERATORS

		// Constructor.
		bdAdUnit();

		~bdAdUnit();

		virtual bdBool handleResult(const bdUInt numResults, 
									bdBitBufferRef buffer);

		/// Format of the ad unit
		bdTitleUtilities::bdUnitLayout m_layout;

		/// The unit identifier
		bdUnitID m_unitID;

		/// Size in bytes
		bdUInt32 m_size;

		/// Pointer to the actual display item
		void *m_adUnit;

		/// The type of display
		bdTitleUtilities::bdScreenType m_screenType;

		/// String identifying the unit's mime-type
		bdNChar8 m_mimeType[BD_MAX_MIMETYPE_STRING_LENGTH];
};

#endif // BD_AD_UNIT_H
