/*

Datenbank

IMPLEMENTIERUNG von Datenbankfunktionen

@author DR

*/

// Lokales Header-File

#include "datenbank.h"


// Bibliotheken...

#include <iostream.h>
#include <stdlib.h>

int size_db = 0;
const char **database;

void initDatabase(int size)
{
	size_db = size;

	database = new const char*[size_db];

	for (int i=0; i<size_db; i++)	// Initialisiere mit NULL
		database[i] = NULL;	// um Fehler zu vermeiden

}

void destroyDatabase(void)
{

	// Lösche Elemente
	for (int i=0; i<size_db; i++)	// Initialisiere mit NULL
	{
		if (database[i] != NULL)
		{
			//delete (const char*) database[i];
			delete database[i]; 	// mit strdup res.

		}
	}


	// Lösche Datenbank
	delete database;

}



bool storeItem(int index, const char *str)
{
	if (index>size_db)
		return true;


	cout << "store item " << str << " at index " << index << endl;

	// ggfs altes Element freigeben
	if (database[index] != NULL)
	{
		//delete (const char*) database[i];
		delete database[index]; 	// mit strdup res.

	}

	database[index] = strdup(str);	// Speichere Kopie

	return false;
}

const char *findItem(int index)
{

	cout << "find item at index " << index << endl;

	if (database[index] == NULL)
		return "N/A";

	return database[index];

}

