// DWBS ------------------------------------------------------------------ DWBS
//
// PLATFORM		: ALL
// PRODUCT		: BIT_DEMON
// VISIBILITY	: PUBLIC
//
// DWBS ------------------------------------------------------------------ DWBS
// PURPOSE: The result set of a call to bdFriends::getBlockedList().

#ifndef BD_GET_BLOCK_LIST_RESULT_H
#define BD_GET_BLOCK_LIST_RESULT_H

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


/// The result set obtained following a call to bdFriends::getBlockedList().
/// An instance of this class should be passed to bdFriends::handleTask following
/// successful completion of a task returned from getBlockedList function.
class bdGetBlockListResult : public bdQueryResult
{
	public:
		BD_DECLARE_NEW_AND_DELETE_OPERATORS
		
		class bdBlockedUser
		{
			public:
				BD_DECLARE_NEW_AND_DELETE_OPERATORS
				~bdBlockedUser(){};
				bdOnlineUserID m_userID;
				bdNChar8 m_userName[BD_MAX_USERNAME_LENGTH];
				bdUByte8 m_blockLevel;
		};

		bdGetBlockListResult();

		~bdGetBlockListResult();

		bdBool handleResult(const bdUInt numResults, 
							bdBitBufferRef buffer);

		/// After passing an instance of this class to bdFriends::handleTask,
		/// this array will contain entries for each blocked user.
		bdArray<bdBlockedUser> m_blockList;
};

#endif // BD_GET_BLOCK_LIST_RESULT_H
