#include "AccountHistorieDaten.h"

// Inhalt der AHSpielSpielerDaten Struktur aus AccountHistorieDaten.h
// Konstruktor
AHSpielSpielerDaten::AHSpielSpielerDaten()
	: name( new Text() ),
	status( new Text() ),
	ref( 1 )
{
}

// Destruktor
AHSpielSpielerDaten::~AHSpielSpielerDaten()
{
	name->release();
	status->release();
}

// Reference Counting
AHSpielSpielerDaten *AHSpielSpielerDaten::getThis()
{
	ref++;
	return this;
}

AHSpielSpielerDaten *AHSpielSpielerDaten::release()
{
	ref--;
	if( !ref )
		delete this;
	return 0;
}


// Inhalt der AHSpielTeamDaten Struktur aus AccountHistorieDaten.h
// Konstruktor
AHSpielTeamDaten::AHSpielTeamDaten()
	: name( new Text() ),
	status( new Text() ),
	spieler( new RCArray< AHSpielSpielerDaten >() ),
	ref( 1 )
{
}

// Destruktor
AHSpielTeamDaten::~AHSpielTeamDaten()
{
	name->release();
	status->release();
	spieler->release();
}

// Reference Counting
AHSpielTeamDaten *AHSpielTeamDaten::getThis()
{
	ref++;
	return this;
}

AHSpielTeamDaten *AHSpielTeamDaten::release()
{
	ref--;
	if( !ref )
		delete this;
	return 0;
}


// Inhalt der AHSpielDaten Struktur aus AccountHistorieDaten.h
// Konstruktor
AHSpielDaten::AHSpielDaten()
	: spiel( new Text() ),
	karte( new Text() ),
	datum( new Text() ),
	status( new Text() ),
	dauer( new Text() ),
	spielStatus( new Text() ),
	gewinner( new Text() ),
	teams( new RCArray< AHSpielTeamDaten >() ),
	ref( 1 )
{
}

// Destruktor
AHSpielDaten::~AHSpielDaten()
{
	spiel->release();
	karte->release();
	datum->release();
	status->release();
	dauer->release();
	spielStatus->release();
	gewinner->release();
	teams->release();
}

// Reference Counting
AHSpielDaten *AHSpielDaten::getThis()
{
	ref++;
	return this;
}

AHSpielDaten *AHSpielDaten::release()
{
	ref--;
	if( !ref )
		delete this;
	return 0;
}


// Inhalt der AHDaten Struktur aus AccountHistorieDaten.h
// Konstruktor
AHDaten::AHDaten()
	: spiele( new RCArray< AHSpielDaten >() ),
	ref( 1 )
{
}

// Destruktor
AHDaten::~AHDaten()
{
	spiele->release();
}

// Reference Counting
AHDaten *AHDaten::getThis()
{
	ref++;
	return this;
}

AHDaten *AHDaten::release()
{
	ref--;
	if( !ref )
		delete this;
	return 0;
}


// Inhalt der SpielerTeamStruktur Struktur aus Strukturen.h
SpielerTeamStruktur::SpielerTeamStruktur()
{
	spielerAnzahl = 0;
	teamAnzahl = 0;
	spielerFarbe = new Array< int >();
	teamFarbe = new Array< int >();
	teamName = new RCArray< Text >();
	teamGröße = new Array< int >();
	ref = 1;
}

SpielerTeamStruktur::~SpielerTeamStruktur()
{
	spielerFarbe->release();
	teamFarbe->release();
	teamName->release();
	teamGröße->release();
}

SpielerTeamStruktur *SpielerTeamStruktur::getThis()
{
	ref++;
	return this;
}

SpielerTeamStruktur *SpielerTeamStruktur::release()
{
	ref--;
	if( !ref )
		delete this;
	return 0;
}