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

#ifndef BD_FF_TEAM_INFO_H
#define BD_FF_TEAM_INFO_H

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


/// Sample of Teams class to be auto-generated by IMP-Teams
class PublicTeamInfo : public bdQueryParams
{
public:

	PublicTeamInfo(){};
	~PublicTeamInfo(){};

	virtual void serialize(bdBitBuffer &buffer);
	virtual bdBool deserialize(bdBitBufferRef buffer);

	bdInt32 m_int1;
	bdInt32 m_int2;
	bdInt32 m_int3;
	bdInt32 m_int4;
	bdInt32 m_int5;
	bdInt32 m_int6;

	bdString m_string1;
	bdString m_string2;
};

/// Sample of Teams class to be auto-generated by IMP-Teams
class PrivateTeamInfo : public bdQueryParams
{
public:

	PrivateTeamInfo(){};
	~PrivateTeamInfo(){};

	virtual void serialize(bdBitBuffer &buffer);
	virtual bdBool deserialize(bdBitBufferRef buffer);

	bdString m_string1;
	bdString m_string2;
};

class GetPublicTeamInfoResult : public bdQueryResult
{
public:

	GetPublicTeamInfoResult(){};

	~GetPublicTeamInfoResult(){};

	virtual bdBool handleResult(bdUInt numRows, bdBitBufferRef buffer);

	bdUInt64 teamId;
	PublicTeamInfo data;
};


class GetPrivateTeamInfoResult : public bdQueryResult
{
public:

	GetPrivateTeamInfoResult(){};

	~GetPrivateTeamInfoResult(){};

	virtual bdBool handleResult(bdUInt numRows, bdBitBufferRef buffer);

	bdUInt64 teamId;
	PrivateTeamInfo data;
};


/// Sample of Teams class to be auto-generated by IMP-Teams
class PublicTeamMemberInfo : public bdQueryParams
{
public:

	PublicTeamMemberInfo(){};
	~PublicTeamMemberInfo(){};

	virtual void serialize(bdBitBuffer &buffer);
	virtual bdBool deserialize(bdBitBufferRef buffer);

	bdInt64 m_int1;
	bdInt32 m_int2;
	bdInt32 m_int3;

	bdString m_string1;
	bdString m_string2;
};

/// Sample of Teams class to be auto-generated by IMP-Teams
class PrivateTeamMemberInfo : public bdQueryParams
{
public:

	PrivateTeamMemberInfo(){};
	~PrivateTeamMemberInfo(){};

	virtual void serialize(bdBitBuffer &buffer);
	virtual bdBool deserialize(bdBitBufferRef buffer);

	bdInt32 m_int1;

	bdString m_string1;
	bdString m_string2;
};

class GetPublicTeamMemberInfoResult : public bdQueryResult
{
public:

	GetPublicTeamMemberInfoResult(){};

	~GetPublicTeamMemberInfoResult(){};

	virtual bdBool handleResult(bdUInt numRows, bdBitBufferRef buffer);

	bdUInt64 teamId;
	bdOnlineUserID userId;

	PublicTeamMemberInfo data;
};


class GetPrivateTeamMemberInfoResult : public bdQueryResult
{
public:

	GetPrivateTeamMemberInfoResult(){};

	~GetPrivateTeamMemberInfoResult(){};

	virtual bdBool handleResult(bdUInt numRows, bdBitBufferRef buffer);

	bdUInt64 teamId;
	bdOnlineUserID userId;

	PrivateTeamMemberInfo data;
};

#endif
