//----------------------------------------------------
/**
	\file		ctk/inc/dbgw.h
	\ingroup	debug
	\ingroup	all

	\brief		Ladeni aplikace sledovanimsledovanim/nastavenim urcenych promenych
				<<< ALL >>>
			
	\author		ConTeK s.r.o., Ing. Petr Cernin, Ing. Vladimir Kastner
	\version	01.01
	\date		12.01.2007
*/
//----------------------------------------------------


#ifndef _DBGW_H_
#define _DBGW_H_

#include <dbgwdef.h>

//----------------------------------------------------
/**
	\brief	Funkce vraci pocet skupin ladicich promennych
	
	\return	pocet skupin ladicich promenych
*/
//----------------------------------------------------

uint8_t DbgwGetGroupCount( void );


//----------------------------------------------------
/**
	\brief	Funkce vraci ukazatel na nazev skupiny ladicich promennych
	
	\param	buff		buffer
			bSize		velikost bufferu ve znacich
			groupIdx	index skupiny

	\return	Ukazatel na buff, pri chybe "?"
*/
//----------------------------------------------------

char_t * DbgwGetGroupName( char_t * buff, uint16_t bSize, uint8_t groupIdx );


//----------------------------------------------------
/**
	\brief	Funkce vraci pocet polozek ve skupine
	
	\param	groupIdx	index skupiny

	\return	Pocet polozek ve skupine, pri chybe 0
*/
//----------------------------------------------------

uint8_t DbgwGetGroupItemCount( uint8_t groupIdx );


//----------------------------------------------------
/**
	\brief	Funkce vraci ukazatel na nazev ladici promenne
	
	\param	buff		buffer
			bSize		delka bufferu ve znacich
			groupIdx	index skupiny
			itemIdx		index promenne

	\return	Ukazatel na buff, pri chybe "?"
*/
//----------------------------------------------------

char_t * DbgwGetItemName( char_t * buff, uint16_t bSsize, uint8_t groupIdx, uint8_t itemIdx );


//----------------------------------------------------
/**
	\brief	Funkce navrati typ ladici promenne
	
	\param	groupIdx	index skupiny
			itemIdx		index promenne

	\return	Typ promene
*/
//----------------------------------------------------

uint8_t DbgwGetItemType( uint8_t groupIdx, uint8_t itemIdx );


//----------------------------------------------------
/**
	\brief	Funkce prevede typ ladici promenne na string
	
	\param	itemType	typ promene
			buff		buffer
			bSize		delka bufferu ve znacich

	\return	Ukazatel na buff, pri chybe "?"
*/
//----------------------------------------------------

char_t * DbgwItemTypeToStr( uint8_t itemType, char_t * buff, uint16_t bSize );


//----------------------------------------------------
/**
	\brief	Funkce navrati hodnotu ladici promenne
	
	\param	groupIdx	index skupiny
			itemIdx		index promenne

	\return	Honota ladici promenne, pri chybe 0
*/
//----------------------------------------------------

DBGWVAL DbgwGetItemValue( uint8_t groupIdx, uint8_t itemIdx );

//----------------------------------------------------
/**
	\brief	Funkce hodnotu ladici promenne na string
	
	\param	itemVal		hodnota ladici promenne
			itemType	typ ladici promenne
			buff		buffer
			bSize		delka bufferu ve znacich

	\return	Ukazatel na buff, pri chybe "?"
*/
//----------------------------------------------------

char_t * DbgwItemValueToStr( DBGWVAL itemVal, uint8_t itemType, char_t * buff, uint16_t bSize );


//----------------------------------------------------
/**
	\brief	Funkce pro inicializaci knihovny

	\return	TRUE	ializace probehla v poradku
*/
//----------------------------------------------------

bool_t DbgwInitialize( void );


//----------------------------------------------------
/**
	\brief	Funkce pro ukonceni knihovny
*/
//----------------------------------------------------

void DbgwFinalize( void );


#endif // _DBGW_H_
