예제 #1
0
/***
	PUBLIC
	Operador []
	Obtem o n-esimo campo da lista de campos
	Parameters:
		- szFieldAliasName	-> nome do campo
	Return:
		- o campo
	Comments:
		-

***/
LBSC_Field *
LBSC_Record::operator[]( char *szFieldAliasName )
{
	if( !szFieldAliasName ){
		return( NULL );
	}
	return( FindByAlias( szFieldAliasName ) );
}
예제 #2
0
/***
	PUBLIC
	Metodo VerifyFieldPassword
	Verifica se a password de um campo passada como parametro e igual a do
	campo corrente

	Parameters:
		- szFieldName	-> nome do campo
		- szOldPassword	-> password a ser checada

	Return:
		- LBS_OK se forem iguais ou outro valor se nao.

	Comments:

***/
int
LBSC_Record::VerifyFieldPassword( char *szFieldName, char *szOldPassword )
{
	LBSC_Field *pf = FindByAlias( szFieldName );
	if( pf == NULL ){
		return( LBSE_FIELDNOTFOUND );
	}
	return( pf->lbscpPassword.Verify( szOldPassword ) );
}
예제 #3
0
/***
	Metodo ModifyFieldId
	Modifica o id de um campo

	Parameters:
		- szFieldName
		- uiNewId

	Return:
		- LBS_OK se conseguir modificar ou erro.

	Comments:

***/
int
LBSC_Record::ModifyFieldId( char *szFieldName, UINT uiNewId )
{
	LBSC_Field *pf = FindByAlias( szFieldName );
	if( pf == NULL ){
		return( LBSE_FIELDNOTFOUND );
	}
	pf->SetId( uiNewId );
	return( LBS_OK );
}
예제 #4
0
/***
	Metodo GetFieldPassword
	Obtem a password de um campo

	Parameters:
		- szFieldName

	Return:
		- A password do campo. Disponivel apenas para consulta.

	Comments:
		- Este metodo NAO retorna uma copia do buffer interno.

***/
const char *
LBSC_Record::GetFieldPassword( char *szFieldName )
{
	LBSC_Field *pf = FindByAlias( szFieldName );

	if( pf == NULL ){
		return( NULL );
	}
	return( pf->GetPassword() );
}
예제 #5
0
/***
	Metodo ModifyFieldIndexAttrib
	Modifica os atributos de indexacao de um campo

	Parameters:
		- szFieldName
		- szPassword
		- iIndexAttib

	Return:
		- LBS_OK se conseguir modificar ou erro.

	Comments:

***/
int
LBSC_Record::ModifyFieldIndexAttrib( char *szFieldName, char *szPassword, int iIndexAttib )
{
	LBSC_Field *pf = FindByAlias( szFieldName );
	if( pf == NULL ){
		return( LBSE_FIELDNOTFOUND );
	}
	if( pf->VerifyPassword( szPassword ) != LBS_OK ){
		return( LBSE_INVALIDPASSWORD );
	}
	return( pf->SetIndexAttrib( iIndexAttib ) );
}
예제 #6
0
/***
	Metodo ModifyFieldPassword
	Modifica a password de um campo

	Parameters:
		- szFieldName
		- szOldPassword
		- szNewPassword

	Return:
		- LBS_OK se conseguir modificar ou erro.

	Comments:

***/
int
LBSC_Record::ModifyFieldPassword( char *szFieldName, char *szOldPassword, char *szNewPassword )
{
	LBSC_Field *pf = FindByAlias( szFieldName );
	if( pf == NULL ){
		return( LBSE_FIELDNOTFOUND );
	}
	if( pf->VerifyPassword( szOldPassword ) != LBS_OK ){
		return( LBSE_INVALIDPASSWORD );
	}
	return( pf->ModifyPassword( szNewPassword ) );
}
예제 #7
0
/***
	Metodo ModifyFieldAttrib
	Modifica os atributos de um campo

	Parameters:
		- szFieldName
		- szPassword
		- uiFieldAttribPar

	Return:
		- LBS_OK se conseguir modificar ou erro.

	Comments:

***/
int
LBSC_Record::ModifyFieldAttrib( char *szFieldName, char *szPassword, UINT uiFieldAttribPar )
{
	LBSC_Field *pf = FindByAlias( szFieldName );
	if( pf == NULL ){
		return( LBSE_FIELDNOTFOUND );
	}
	if( pf->VerifyPassword( szPassword ) != LBS_OK ){
		return( LBSE_INVALIDPASSWORD );
	}
	pf->SetAttrib( uiFieldAttribPar );
	return( LBS_OK );
}
예제 #8
0
/***
	Metodo GetFieldObj
	Obtem o apontador para o objeto LBSC_Field a partir do nome

	Parameters:
		- szFieldName

	Return:
		Apontador para objeto LBSC_Field

	Comments:

***/
const LBSC_Field *
LBSC_Record::GetFieldObj( char *szFieldName )
{
	LBSC_Field *pf = FindByAlias( szFieldName );
	if( pf == NULL ){
		return( NULL );
	}
	pCurrField = pf;
	if ( !FillFieldFromBuffer(pf) ) {
		return NULL;
	}

	return( pf );
}
예제 #9
0
const TFile& TFileCollection::Merge(const TFile& file) {
//        if (!file.FindInGeneratedPool())
//            return;

    TRef myfile = FindByAlias(file);
    if (!myfile) {
        myfile = new TFile(file);
        Files.push_back(myfile);
    } else
        myfile->MergeAliases(file);

    AddToIndex(*myfile);
    return *myfile;
}
예제 #10
0
/***
	PUBLIC
	Metodo DelFieldRepetition
	Deleta uma repeticao de um campo atraves do indice fornecido como parametro

	Parameters:
		- szFieldName
		- iIndex
		- bShift -> indica se as repeticoes restantes devem ser deslocadas
				    uma posicao para ocupar o buraco deixado pela delecao.
					O default eh nao fazer o shift (FALSE).

	Return:
		LBS_OK se conseguir deletar ou erro.

	Comments:

***/
int
LBSC_Record::DelFieldRepetition( char *szFieldName, int iIndex, BOOL bShift )
{
	LBSC_Field *pf = FindByAlias( szFieldName );
	if( pf == NULL ){
		return( LBSE_FIELDNOTFOUND );
	}

	pCurrField = pf;
	if ( !FillFieldFromBuffer(pf) ) {
		return LBSE_WRONGRECORD;
	}

	return( pf->DeleteRepetitionByIndex( iIndex, TRUE, bShift ) );
}